Separate the build recipe in federation Makefile into separate phases.

This commit is contained in:
Madhusudan.C.S 2016-08-16 22:59:58 -07:00
parent 1919fe3a59
commit 272d966d94
2 changed files with 47 additions and 18 deletions

View File

@ -21,6 +21,50 @@ else
MAKEFLAGS += -s MAKEFLAGS += -s
endif endif
.PHONY: all
all: init build push deploy
.PHONY: init
init:
./develop/develop.sh init
.PHONY: build .PHONY: build
build: build: build_binaries build_image
./build.sh $(do)
.PHONY: push
push:
./develop/develop.sh push
.PHONY: deploy
deploy: deploy_clusters deploy_federation
.PHONY: destroy
destroy: destroy_federation destroy_clusters
.PHONY: build_binaries
build_binaries:
./develop/develop.sh build_binaries
.PHONY: build_image
build_image:
./develop/develop.sh build_image
.PHONY: deploy_clusters
deploy_clusters:
./develop/develop.sh deploy_clusters
.PHONY: deploy_federation
deploy_federation:
./develop/develop.sh deploy_federation
.PHONY: destroy_federation
destroy_federation:
./develop/develop.sh destroy_federation
.PHONY: destroy_clusters
destroy_clusters:
./develop/develop.sh destroy_clusters
.PHONY: redeploy_federation
redeploy_federation:
./develop/develop.sh redeploy_federation

View File

@ -57,22 +57,7 @@ make destroy
# Ideas for improvement # Ideas for improvement
1. Split the `build` phase (make recipe) into multiple phases: 1. Continue with `destroy` phase even in the face of errors.
1. `init`: pull installer images
2. `build-binaries`
3. `build-docker`
4. `build`: build-binary + build-docker
5. `push`: to push the built images
6. `genconfig`
7. `deploy-clusters`
8. `deploy-federation`
9. `deploy`: deploy-clusters + deploy-federation
10. `destroy-federation`
11. `destroy-clusters`
12. `destroy`: destroy-federation + destroy-clusters
13. `redeploy-federation`: just redeploys the federation components.
2. Continue with `destroy` phase even in the face of errors.
The bash script sets `set -e errexit` which causes the script to exit The bash script sets `set -e errexit` which causes the script to exit
at the very first error. This should be the default mode for deploying at the very first error. This should be the default mode for deploying