1313# limitations under the License.
1414
1515BUILD_SERVER_CONTAINER =build-server
16+ # Set architecture for Go code. Don't set GOOS globally, so that tests can be run locally
1617export GOARCH ?= amd64
17- # Don't set GOOS globally, so that tests can be run locally
1818DOCKER_TAG_ARCH ?= x86_64
19+ # By default, all Docker client commands are run inside a Docker container.
20+ # This means that newer features of the client can be used, even with an older daemon.
21+ DOCKER ?= docker run --tty --interactive --rm --volume /var/run/docker.sock:/var/run/docker.sock --volume "$(CURDIR ) ":/var/src --workdir /var/src docker:stable docker
1922DOCKER_TAG ?= latest-$(DOCKER_TAG_ARCH )
2023DOCKER_REPO_DEVSERVER ?= mq-devserver
2124DOCKER_REPO_ADVANCEDSERVER ?= mq-advancedserver
@@ -60,43 +63,28 @@ deps:
6063 cd test/docker && dep ensure -vendor-only
6164 cd test/kubernetes && dep ensure -vendor-only
6265
63- build/runmqserver :
64- mkdir -p build
65- cd build; GOOS=linux go build ../cmd/runmqserver/
66-
67- build/chkmqready :
68- mkdir -p build
69- cd build; GOOS=linux go build ../cmd/chkmqready/
70-
71- build/chkmqhealthy :
72- mkdir -p build
73- cd build; GOOS=linux go build ../cmd/chkmqhealthy/
74-
75- .PHONY : build
76- build : build/runmqserver build/chkmqready build/chkmqhealthy
77-
7866.PHONY : build-cov
7967build-cov :
8068 mkdir -p build
8169 cd build; go test -c -covermode=count ../cmd/runmqserver
8270
8371.PHONY : test-advancedserver
84- test-advancedserver : build
72+ test-advancedserver :
8573 cd pkg/name && go test
8674 cd test/docker && TEST_IMAGE=$(DOCKER_FULL_ADVANCEDSERVER ) go test $(TEST_OPTS_DOCKER )
8775
8876.PHONY : test-devserver
89- test-devserver : build
77+ test-devserver :
9078 $(info $(SPACER )$(shell printf $(TITLE ) "Test $(DOCKER_FULL_DEVSERVER ) "$(END ) ) )
9179 cd pkg/name && go test
9280 cd test/docker && TEST_IMAGE=$(DOCKER_FULL_DEVSERVER ) go test
9381
9482.PHONY : test-kubernetes-devserver
95- test-kubernetes-devserver : build
83+ test-kubernetes-devserver :
9684 $(call test-kubernetes,$(DOCKER_REPO_DEVSERVER ) ,$(DOCKER_TAG ) ,"../../charts/ibm-mqadvanced-server-dev")
9785
9886.PHONY : test-kubernetes-advancedserver
99- test-kubernetes-advancedserver : build
87+ test-kubernetes-advancedserver :
10088 $(call test-kubernetes,$(DOCKER_REPO_ADVANCEDSERVER ) ,$(DOCKER_TAG ) ,"../../charts/ibm-mqadvanced-server-prod")
10189
10290define test-kubernetes
10694
10795define docker-build-mq
10896 # Create a temporary network to use for the build
109- docker network create build
97+ $( DOCKER ) network create build
11098 # Start a web server to host the MQ downloadable (tar.gz) file
111- docker run \
99+ $( DOCKER ) run \
112100 --rm \
113101 --name $(BUILD_SERVER_CONTAINER ) \
114102 --network build \
@@ -117,48 +105,58 @@ define docker-build-mq
117105 --detach \
118106 nginx:alpine
119107 # Build the new image
120- docker build \
108+ $(DOCKER ) build \
109+ --pull \
121110 --tag $1 \
122111 --file $2 \
123112 --network build \
124113 --build-arg MQ_URL=http://build:80/$3 \
125- --build-arg IBM_PRODUCT_ID=$4 \
126- --build-arg IBM_PRODUCT_NAME=$5 \
127- --build-arg IBM_PRODUCT_VERSION=$6 \
114+ --label IBM_PRODUCT_ID=$4 \
115+ --label IBM_PRODUCT_NAME=$5 \
116+ --label IBM_PRODUCT_VERSION=$6 \
128117 .
129118 # Stop the web server (will also remove the container)
130- docker kill $(BUILD_SERVER_CONTAINER )
119+ $( DOCKER ) kill $(BUILD_SERVER_CONTAINER )
131120 # Delete the temporary network
132- docker network rm build
121+ $( DOCKER ) network rm build
133122endef
134123
135- .PHONY : build-advancedserver
136- build-advancedserver : build downloads/CNJR7ML.tar.gz
124+ # .PHONY: build-advancedserver-903
125+ # build-advancedserver-903: build downloads/CNJR7ML.tar.gz
126+ # $(info $(SPACER)$(shell printf $(TITLE)"Build $(DOCKER_FULL_ADVANCEDSERVER)"$(END)))
127+ # $(call docker-build-mq,$(DOCKER_FULL_ADVANCEDSERVER),Dockerfile-server,CNJR7ML.tar.gz,"4486e8c4cc9146fd9b3ce1f14a2dfc5b","IBM MQ Advanced","9.0.3")
128+ # $(DOCKER) tag $(DOCKER_FULL_ADVANCEDSERVER) $(DOCKER_REPO_ADVANCEDSERVER):9.0.3-$(DOCKER_TAG_ARCH)
129+
130+ .PHONY : build-advancedserver-904
131+ build-advancedserver-904 : downloads/CNLE4ML.tar.gz
137132 $(info $(SPACER )$(shell printf $(TITLE ) "Build $(DOCKER_FULL_ADVANCEDSERVER ) "$(END ) ) )
138- $(call docker-build-mq,$(DOCKER_FULL_ADVANCEDSERVER ) ,Dockerfile-server,CNJR7ML.tar.gz,"4486e8c4cc9146fd9b3ce1f14a2dfc5b","IBM MQ Advanced","9.0.3")
139- docker tag $(DOCKER_FULL_ADVANCEDSERVER ) $(DOCKER_REPO_ADVANCEDSERVER ) :9.0.3-$(DOCKER_TAG_ARCH )
133+ $(call docker-build-mq,$(DOCKER_FULL_ADVANCEDSERVER ) ,Dockerfile-server,CNLE4ML.tar.gz,"4486e8c4cc9146fd9b3ce1f14a2dfc5b","IBM MQ Advanced","9.0.4")
134+ $(DOCKER ) tag $(DOCKER_FULL_ADVANCEDSERVER ) $(DOCKER_REPO_ADVANCEDSERVER ) :9.0.4-$(DOCKER_TAG_ARCH )
135+
136+ .PHONY : build-advancedserver
137+ build-advancedserver : build-advancedserver-904
140138
141139.PHONY : build-devserver
142- build-devserver : build downloads/mqadv_dev903_ubuntu_x86-64.tar.gz
140+ build-devserver : downloads/mqadv_dev903_ubuntu_x86-64.tar.gz
143141 $(info $(shell printf $(TITLE ) "Build $(DOCKER_FULL_DEVSERVER ) "$(END ) ) )
144142 $(call docker-build-mq,$(DOCKER_FULL_DEVSERVER ) ,Dockerfile-server,mqadv_dev903_ubuntu_x86-64.tar.gz,"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers (Non-Warranted) " ," 9.0.3" )
145- docker tag $(DOCKER_FULL_DEVSERVER ) $(DOCKER_REPO_DEVSERVER ) :9.0.3-$(DOCKER_TAG_ARCH )
143+ $( DOCKER ) tag $(DOCKER_FULL_DEVSERVER ) $(DOCKER_REPO_DEVSERVER ) :9.0.3-$(DOCKER_TAG_ARCH )
146144
147145# .PHONY: build-server
148146# build-server: build downloads/CNJR7ML.tar.gz
149147# $(call docker-build-mq,mq-server:latest-$(DOCKER_TAG_ARCH),Dockerfile-server,"79afd716d55b4f149a87bec52c9dc1aa","IBM MQ","9.0.3")
150- # docker tag mq-server:latest-$(DOCKER_TAG_ARCH) mq-server:9.0.3-$(DOCKER_TAG_ARCH)
148+ # $(DOCKER) tag mq-server:latest-$(DOCKER_TAG_ARCH) mq-server:9.0.3-$(DOCKER_TAG_ARCH)
151149
152150.PHONY : build-advancedserver-cover
153151build-advancedserver-cover : build-advanced-server build-cov
154- docker build -t mq-advancedserver:cover -f Dockerfile-server.cover .
152+ $( DOCKER ) build -t mq-advancedserver:cover -f Dockerfile-server.cover .
155153
156154# .PHONY: build-web
157155# build-web: build downloads/CNJR7ML.tar.gz
158156# $(call docker-build-mq,mq-web:latest-$(DOCKER_TAG_ARCH),Dockerfile-mq-web)
159157
160158.PHONY : build-explorer
161- build-explorer : build downloads/mqadv_dev903_ubuntu_x86-64.tar.gz
159+ build-explorer : downloads/mqadv_dev903_ubuntu_x86-64.tar.gz
162160 $(call docker-build-mq,mq-explorer:latest-$(DOCKER_TAG_ARCH ) ,incubating/mq-explorer/Dockerfile-mq-explorer,mqadv_dev903_ubuntu_x86-64.tar.gz,"98102d16795c4263ad9ca075190a2d4d","IBM MQ Advanced for Developers (Non-Warranted) " ," 9.0.3" )
163161
164162include formatting.mk
0 commit comments