play stack one by one

This commit is contained in:
2025-02-02 21:20:39 +01:00
parent 2544559b39
commit 69ea64df4c
29 changed files with 143 additions and 86 deletions
+32 -25
View File
@@ -1,9 +1,9 @@
##
# DOCKER
# target docker-build: Fire docker-images-myos, Call docker-build-% target for each DOCKER_IMAGES
# target docker-build: Fire docker-image-myos, Call docker-build-% target for each DOCKER_IMAGES
.PHONY: docker-build
docker-build: docker-images-myos
docker-build: docker-image-myos
$(foreach image,$(or $(SERVICE),$(DOCKER_IMAGES)),$(call make,docker-build-$(image)))
# target docker-build-%: Call docker-build for each Dockerfile in docker/% folder
@@ -23,10 +23,10 @@ docker-commit: stack
docker-commit-%: stack
$(foreach service,$(or $(SERVICE),$(SERVICES)),$(call docker-commit,$(service),,,$*))
# target docker-compose-build: Fire docker-images-myos, Call docker-compose build SERVICE
# target docker-compose-build: Fire docker-image-myos, Call docker-compose build SERVICE
.PHONY: docker-compose-build
docker-compose-build: DOCKER_RUN_OPTIONS += -it
docker-compose-build: docker-images-myos stack
docker-compose-build: docker-image-myos stack
$(call docker-compose,build $(DOCKER_BUILD_ARGS) $(if $(filter $(SERVICE),$(SERVICES)),$(SERVICE)))
# target docker-compose-config: Call docker-compose config
@@ -109,37 +109,38 @@ docker-compose-stop: stack
# target docker-compose-up: Fire docker-image-myos, Call docker-compose up SERVICE
.PHONY: docker-compose-up
docker-compose-up: DOCKER_RUN_OPTIONS += -it
docker-compose-up: docker-images-myos bootstrap-stack stack
docker-compose-up: docker-image-myos bootstrap-stack stack
$(call docker-compose,up $(DOCKER_COMPOSE_UP_OPTIONS) $(if $(filter $(SERVICE),$(SERVICES)),$(SERVICE)))
# target docker-images-myos: Call myos-docker-build-% target for each DOCKER_IMAGES_MYOS
.PHONY: docker-images-myos
docker-images-myos: MAKE_VARS += DOCKER_REPOSITORY STACK
docker-images-myos:
$(foreach image,$(subst $(quote),,$(DOCKER_IMAGES_MYOS)),$(call make,docker-build-$(image),$(MYOS)))
# target docker-image-myos: Call myos-docker-build-% target for each MYOS_DOCKER_IMAGES
.PHONY: docker-image-myos
docker-image-myos: MAKE_VARS += DOCKER_REPOSITORY STACK
docker-image-myos:
$(foreach image,$(subst $(quote),,$(MYOS_DOCKER_IMAGES)),$(call make,docker-build-$(image),$(MYOS)))
# target docker-images-rm: Remove docker images matching DOCKER_REPOSITORY
.PHONY: docker-images-rm
docker-images-rm:
docker images |awk '$$1 ~ /^$(subst /,\/,$(DOCKER_REPOSITORY)/)/ {print $$3}' |sort -u |while read image; do $(RUN) docker rmi -f $$image; done
# target docker-image-rm: Remove docker images matching DOCKER_REPOSITORY
.PHONY: docker-image-rm
docker-image-rm:
docker image ls |awk '$$1 ~ /^$(subst /,\/,$(DOCKER_REPOSITORY)/)/ {print $$3}' |sort -u |while read image; do $(RUN) docker rmi -f $$image; done
# target docker-images-rm-%: Remove docker images matching %
.PHONY: docker-images-rm-%
docker-images-rm-%:
docker images |awk '$$1 ~ /^$(subst /,\/,$*)/ {print $$3}' |sort -u |while read image; do $(RUN) docker rmi -f $$image; done
# target docker-image-rm-%: Remove docker images matching %
.PHONY: docker-image-rm-%
docker-image-rm-%:
$(foreach image,$(or $($(call UPPERCASE,$*)_DOCKER_IMAGES),$*), \
docker image ls |awk '$$1 ~ /^$(subst /,\/,$(firstword $(subst :, ,$(image))))/ {print $$3}' |sort -u |while read image; do $(RUN) docker rmi -f $$image; done;)
# target docker-login: Run 'docker login'
.PHONY: docker-login
docker-login: myos-user
$(RUN) docker login
# target docker-network: Fire docker-network-create-% for DOCKER_NETWORK and DOCKER_NETWORK_PUBLIC
# target docker-network: Fire docker-network-create
.PHONY: docker-network
docker-network: docker-network-create docker-network-create-$(DOCKER_NETWORK_PUBLIC)
docker-network: docker-network-create
# target docker-network-create: Fire docker-network-create-% for DOCKER_NETWORK
# target docker-network-create: Fire docker-network-create-% for DOCKER_NETWORK_PRIVATE and DOCKER_NETWORK_PUBLIC
.PHONY: docker-network-create
docker-network-create: docker-network-create-$(DOCKER_NETWORK)
docker-network-create: docker-network-create-$(DOCKER_NETWORK_PRIVATE) docker-network-create-$(DOCKER_NETWORK_PUBLIC)
# target docker-network-create-%: Run 'docker network create %'
.PHONY: docker-network-create-%
@@ -150,9 +151,9 @@ docker-network-create-%:
||: ; \
fi
# target docker-network-rm: Fire docker-network-rm-% for DOCKER_NETWORK
# target docker-network-rm: Fire docker-network-rm-% for DOCKER_NETWORK_PRIVATE and DOCKER_NETWORK_PUBLIC
.PHONY: docker-network-rm
docker-network-rm: docker-network-rm-$(DOCKER_NETWORK)
docker-network-rm: docker-network-rm-$(DOCKER_NETWORK_PRIVATE) docker-network-rm-$(DOCKER_NETWORK_PUBLIC)
# target docker-network-rm-%: Run 'docker network rm %'
.PHONY: docker-network-rm-%
@@ -226,9 +227,15 @@ docker-run-%: docker-build-%
$(eval command := $(ARGS))
$(eval path := $(patsubst %/,%,$*))
$(eval image := $(DOCKER_REPOSITORY)/$(lastword $(subst /, ,$(path)))$(if $(findstring :,$*),,:$(DOCKER_IMAGE_TAG)))
$(eval image_id := $(shell docker images -q $(image) 2>/dev/null))
$(eval image_id := $(shell docker image ls -q $(image) 2>/dev/null))
$(call docker-run,$(if $(image_id),$(image),$(path)),$(command))
# target docker-stack-%: Call docker-compose-% target for each STACK
.PHONY: docker-stack-%
docker-stack-%: MAKE_VARS += DOCKER_COMPOSE_DOWN_OPTIONS
docker-stack-%:
$(foreach stack, $(STACK), $(call make,docker-compose-$* STACK=$(stack) APP_NAME=$(subst _,,$(subst -,,$(subst .,,$(call LOWERCASE,$(firstword $(subst /, ,$(stack)))))))))
# target docker-tag: Call docker-tag for each SERVICES
.PHONY: docker-tag
docker-tag: stack