forked from elastic/elasticsearch-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
65 lines (52 loc) · 2.27 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
SHELL=/bin/bash
ifndef ELASTIC_VERSION
ELASTIC_VERSION=2.3.5
endif
ifdef STAGING_BUILD_NUM
IMAGETAG=$(ELASTIC_VERSION)-${STAGING_BUILD_NUM}
ES_DOWNLOAD_URL=http://staging.elastic.co/$(IMAGETAG)/downloads/elasticsearch
ES_JAVA_OPTS:=ES_JAVA_OPTS="-Des.plugins.staging=${STAGING_BUILD_NUM}"
else
IMAGETAG=$(ELASTIC_VERSION)
ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch
ES_DOWNLOAD_URL=https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/$(ELASTIC_VERSION)
endif
ELASTIC_REGISTRY=docker.elastic.co
BASEIMAGE=$(ELASTIC_REGISTRY)/elasticsearch/elasticsearch-alpine-base:latest
VERSIONED_IMAGE=$(ELASTIC_REGISTRY)/elasticsearch/elasticsearch:$(IMAGETAG)
LATEST_IMAGE=$(ELASTIC_REGISTRY)/elasticsearch/elasticsearch:latest
export ELASTIC_VERSION
export ES_DOWNLOAD_URL
export ES_JAVA_OPTS
export VERSIONED_IMAGE
.PHONY: build clean cluster-unicast-test pull-latest-baseimage push run-es-cluster run-es-single single-node-test test
# Default target, build *and* run tests
test: single-node-test cluster-unicast-test
# Common target to ensure BASEIMAGE is latest
pull-latest-baseimage:
docker pull $(BASEIMAGE)
# Clean up left over containers and volumes from earlier failed runs
clean:
docker-compose down -v && docker-compose rm -f -v
run-es-single: pull-latest-baseimage
ES_NODE_COUNT=1 docker-compose -f docker-compose.yml -f docker-compose.hostports.yml up --build elasticsearch1
run-es-cluster: pull-latest-baseimage
ES_NODE_COUNT=2 docker-compose -f docker-compose.yml -f docker-compose.hostports.yml up --build elasticsearch1 elasticsearch2
single-node-test: export ES_NODE_COUNT=1
single-node-test: pull-latest-baseimage clean
docker-compose up -d --build elasticsearch1
docker-compose build --pull tester
docker-compose run tester
docker-compose down -v
cluster-unicast-test: export ES_NODE_COUNT=2
cluster-unicast-test: pull-latest-baseimage clean
docker-compose up -d --build elasticsearch1 elasticsearch2
docker-compose build --pull tester
docker-compose run tester
docker-compose down -v
# Build docker image: "elasticsearch:$(IMAGETAG)"
build: pull-latest-baseimage clean
docker-compose build --pull elasticsearch1
# Push to registry. Only push latest if not a staging build.
push: test
docker push $(VERSIONED_IMAGE)