1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-07-04 05:06:11 +00:00
kopano-docker/Makefile
Felix Bartels 6985fc2a2c refactor makefile to not duplicate all build and tag commands
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2018-10-16 08:11:19 +02:00

66 lines
2.0 KiB
Makefile

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-base: build-base tag-base
@echo 'publish latest to $(docker_repo)/kopano_base'
docker push $(docker_repo)/kopano_base:${base_version}
docker push $(docker_repo)/kopano_base:latest
publish-core: build-core tag-core
@echo 'publish latest to $(docker_repo)/kopano_core'
docker push $(docker_repo)/kopano_core:${core_version}
docker push $(docker_repo)/kopano_core:latest
publish-webapp: build-webapp tag-webapp
@echo 'publish latest to $(docker_repo)/kopano_webapp'
docker push $(docker_repo)/kopano_webapp:${webapp_version}
docker push $(docker_repo)/kopano_webapp:latest