31 lines
1.1 KiB
Makefile
31 lines
1.1 KiB
Makefile
.PHONY: help
|
|
# from https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n\n", $$1, $$2}'
|
|
|
|
repo=yardstick
|
|
project=braid
|
|
branch=$(shell git rev-parse --abbrev-ref HEAD)
|
|
tag=$(shell echo $(branch) | grep -Eo 'feature/([A-Za-z]+-[0-9]*)' | grep -Eo '[A-Za-z]+-[0-9]*' || \
|
|
echo $(branch) | grep -Eo '(release|hotfix)/[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' | grep -Eo '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' || \
|
|
echo $(branch) | grep -Eo 'YASDEV-([[:digit:]]*)')
|
|
full: build push
|
|
|
|
|
|
build: ## build the production dockerfile
|
|
@if [[ -n "$(tag)" ]]; then \
|
|
echo "$(tag)" > docker_tag.txt; \
|
|
docker build -t $(repo)/$(project):$(tag) .; \
|
|
else \
|
|
echo "Nothing to build."; \
|
|
fi
|
|
push: ## push the production dockerfile
|
|
@if [[ -n "$(tag)" ]]; then \
|
|
docker push $(repo)/$(project):$(tag); \
|
|
else \
|
|
echo "Nothing to push."; \
|
|
fi
|
|
|
|
display: ## display the tag/branch values for development testing
|
|
@echo "branch: $(branch)"
|
|
@echo "tag: $(tag)"
|