Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
TT-xx: Fix make publish tasks
  • Loading branch information
faustocv committed Mar 10, 2022
commit 533768c6a096e8b60e67734dd007a0472c0f1b3e
35 changes: 26 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ logs: ## Show logs of timetracker_ui.

.PHONY: stop
stop: ## Stop container timetracker_ui.
docker-compose stop
docker-compose stop

.PHONY: restart
restart: ## Restart container timetracker_ui.
docker-compose stop
docker-compose stop
docker-compose up -d

.PHONY: remove
Expand All @@ -44,17 +44,17 @@ test: ## Run all tests on docker container timetracker_ui.
docker exec -it timetracker_ui bash -c "npm run test"

.PHONY: publish
publish: ## Publish the container image timetracker_ui.
docker tag timetracker_ui:latest $(registry_url)/timetracker_ui:latest
docker push $(registry_url)/timetracker_ui:latest
publish: require-acr-arg require-image_tag-arg ## Upload a docker image to the stage azure container registry acr=<name_of_the_azure_container_registry> image_tag=<tag_for_the_image>
docker tag timetracker_ui:latest $(acr).azurecr.io/timetracker_ui:$(image_tag)
docker push $(acr).azurecr.io/timetracker_ui:$(image_tag)

.PHONY: build_prod
build_prod: ## Create docker image with dependencies needed for production.
docker build --target production -t timetracker_ui_prod -f Dockerfile .

.PHONY: run_prod
run_prod: ## Execute timetracker_ui_prod docker container.
docker run -d -p 4200:4200 --name timetracker_ui_prod timetracker_ui_prod
docker run -d -p 4200:4200 --name timetracker_ui_prod timetracker_ui_prod

.PHONY: stop_prod
stop_prod: ## Stop container timetracker_ui_prod.
Expand All @@ -66,10 +66,27 @@ remove_prod: ## Delete container timetracker_ui_prod.
docker rm timetracker_ui_prod

.PHONY: publish_prod
publish_prod: ## Publish the container image timetracker_ui_prod.
docker tag timetracker_ui_prod:latest $(registry_url)/timetracker_ui_prod:latest
docker push $(registry_url)/timetracker_ui_prod:latest
publish_prod: require-acr-arg require-image_tag-arg ## Upload a docker image to the prod azure container registry acr=<name_of_the_azure_container_registry> image_tag=<tag_for_the_image>
docker tag timetracker_ui_prod:latest $(acr).azurecr.io/timetracker_ui:$(image_tag)
docker push $(acr).azurecr.io/timetracker_ui:$(image_tag)

.PHONY: login
login: ## Login in respository of docker images.
az acr login --name $(container_registry)

.PHONY: release
release: require-VERSION-arg require-COMMENT-arg ## Creates an pushes a new tag.
git tag -a ${VERSION} -m "${COMMENT}"
git push origin ${VERSION}

require-%-arg:
@if [ -z ${${*}} ]; then \
echo "ERROR: [$*] argument is required, e.g. $*=<value>"; \
exit 1; \
fi

require-%-tool:
@if [ "$(shell command -v ${*} 2> /dev/null)" = "" ]; then \
echo "ERROR: [$*] not found"; \
exit 1; \
fi