COMPANY_NAME ?= onlyoffice GIT_BRANCH ?= develop PRODUCT_NAME ?= documentserver-integration PRODUCT_VERSION ?= 0.0.0 BUILD_NUMBER ?= 0 PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER) REPO_URL := "deb http://repo-doc-onlyoffice-com.s3.amazonaws.com/ubuntu/trusty/$(COMPANY_NAME)-$(PRODUCT_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ repo/" UPDATE_LATEST := false ifneq (,$(findstring develop,$(GIT_BRANCH))) DOCKER_TAGS += $(subst -,.,$(PACKAGE_VERSION)) DOCKER_TAGS += latest else ifneq (,$(findstring release,$(GIT_BRANCH))) DOCKER_TAGS += $(subst -,.,$(PACKAGE_VERSION)) else ifneq (,$(findstring hotfix,$(GIT_BRANCH))) DOCKER_TAGS += $(subst -,.,$(PACKAGE_VERSION)) else DOCKER_TAGS += $(subst -,.,$(PACKAGE_VERSION))-$(subst /,-,$(GIT_BRANCH)) endif DOCKER_REPO = $(COMPANY_NAME)/4testing-$(PRODUCT_NAME) COLON := __colon__ DOCKER_TARGETS := $(foreach TAG,$(DOCKER_TAGS),$(DOCKER_REPO)$(COLON)$(TAG)) .PHONY: all clean clean-docker deploy docker $(DOCKER_TARGETS): $(DEB_REPO_DATA) sudo docker build --build-arg REPO_URL=$(REPO_URL) --build-arg PRODUCT_NAME=$(COMPANY_NAME)-$(PRODUCT_NAME) -t $(subst $(COLON),:,$@) . &&\ mkdir -p $$(dirname $@) &&\ echo "Done" > $@ all: $(DOCKER_TARGETS) clean: rm -rfv $(DOCKER_TARGETS) clean-docker: sudo docker rmi -f $$(sudo docker images -q $(COMPANY_NAME)/*) || exit 0 deploy: $(DOCKER_TARGETS) $(foreach TARGET,$(DOCKER_TARGETS),sudo docker push $(subst $(COLON),:,$(TARGET));)