myos/make/apps/deploy.mk

30 lines
1.2 KiB
Makefile
Raw Normal View History

2021-05-31 03:45:39 +02:00
##
# DEPLOY
2021-02-09 17:05:00 +01:00
# target deploy@%: Deploy application docker images
2021-06-02 00:54:33 +02:00
## it tags and pushes docker images to docker registry
## it runs ansible-pull on hosts to pull docker images from the registry
## it tags and pushes docker images as latest to docker registry
.PHONY: deploy@%
2021-05-17 03:40:02 +02:00
deploy@%: myos-base build@% ## Deploy application docker images
2021-02-09 17:05:00 +01:00
$(call make,docker-login docker-tag docker-push)
2021-06-12 03:13:01 +02:00
$(call make,myos-ansible-pull@$(ENV) ANSIBLE_DOCKER_IMAGE_TAG=$(VERSION) ANSIBLE_TAGS=aws AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY),,APP)
2021-02-09 17:05:00 +01:00
$(call make,docker-tag-latest docker-push-latest)
2021-06-02 00:54:33 +02:00
# target deploy-hook: Fire app-deploy deploy-hook-ping
## it is called by ansible in the application dockers launched on remote hosts
.PHONY: deploy-hook app-deploy
deploy-hook: app-deploy deploy-hook-ping
# target deploy-hook-ping: Fire deploy-hook-ping-curl
.PHONY: deploy-hook-ping
deploy-hook-ping: deploy-hook-ping-curl
2021-02-09 17:05:00 +01:00
2021-06-02 00:54:33 +02:00
# target deploy-hook-ping-curl: Post install hook to curl DEPLOY_HOOK_URL
.PHONY: deploy-hook-ping-curl
deploy-hook-ping-curl:
2021-06-12 03:13:01 +02:00
$(if $(DEPLOY_HOOK_URL),$(RUN) curl -X POST --data-urlencode \
2021-06-02 00:54:33 +02:00
'payload={"text": "$(DEPLOY_HOOK_TEXT)"}' \
$(DEPLOY_HOOK_URL) \
||: )