docker_repo := zokradonh docker_login := `cat ~/.docker-account-user` docker_pwd := `cat ~/.docker-account-pwd` base_version = $(shell docker run --rm $(docker_repo)/kopano_base cat /kopano/buildversion) core_version = $(shell docker run --rm $(docker_repo)/kopano_core cat /kopano/buildversion | grep -o -P '(?<=-).*(?=_)') webapp_version = $(shell docker run --rm $(docker_repo)/kopano_webapp cat /kopano/buildversion | tail -n 1 | grep -o -P '(?<=-).*(?=\+)') build-all: build-base build-core build-webapp build: component ?= base build: docker build -t $(docker_repo)/kopano_$(component) $(component)/ build-base: component=base make build build-core: component=core make build build-webapp: component=webapp make build tag: component ?= base tag: @echo 'create tag $($(component)_version)' docker tag $(docker_repo)/kopano_$(component) $(docker_repo)/kopano_$(component):${$(component)_version} @echo 'create tag latest' docker tag $(docker_repo)/kopano_$(component) $(docker_repo)/kopano_$(component):latest git tag $(component)/${$(component)_version} || true tag-base: component=base make tag tag-core: component=core make tag tag-webapp: component=webapp make tag git-commit: git add -A && git commit -m "ci: commit changes before tagging" # Docker publish repo-login: docker login -u $(docker_login) -p $(docker_pwd) publish: git-commit repo-login publish-base publish-core publish-webapp git push git push origin --tags publish-container: component ?= base publish-container: @echo 'publish latest to $(docker_repo)/kopano_$(component)' docker push $(docker_repo)/kopano_$(component):${$(component)_version} docker push $(docker_repo)/kopano_$(component):latest publish-base: build-base tag-base component=base make publish-container publish-core: build-core tag-core component=core make publish-container publish-webapp: build-webapp tag-webapp component=webapp make publish-container