2020-01-31 10:33:25 +00:00
|
|
|
COMPANY_NAME ?= ONLYOFFICE
|
2019-10-21 08:51:06 +00:00
|
|
|
GIT_BRANCH ?= develop
|
2020-01-31 10:33:25 +00:00
|
|
|
PRODUCT_NAME ?= DocumentServer
|
2017-05-17 14:43:24 +00:00
|
|
|
PRODUCT_VERSION ?= 0.0.0
|
|
|
|
BUILD_NUMBER ?= 0
|
2019-10-21 08:51:06 +00:00
|
|
|
ONLYOFFICE_VALUE ?= onlyoffice
|
2020-12-16 08:39:05 +00:00
|
|
|
S3_BUCKET ?= repo-doc-onlyoffice-com
|
|
|
|
RELEASE_BRANCH ?= unstable
|
2017-05-17 14:43:24 +00:00
|
|
|
|
2020-01-31 10:33:25 +00:00
|
|
|
COMPANY_NAME_LOW = $(shell echo $(COMPANY_NAME) | tr A-Z a-z)
|
|
|
|
PRODUCT_NAME_LOW = $(shell echo $(PRODUCT_NAME) | tr A-Z a-z)
|
|
|
|
COMPANY_NAME_LOW_ESCAPED = $(subst -,,$(COMPANY_NAME_LOW))
|
|
|
|
|
2020-12-16 08:39:05 +00:00
|
|
|
PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)
|
2016-07-27 12:24:47 +00:00
|
|
|
PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER)
|
2020-12-16 08:39:05 +00:00
|
|
|
PACKAGE_URL := http://$(S3_BUCKET).s3.amazonaws.com/$(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/ubuntu/$(PACKAGE_NAME)_$(PACKAGE_VERSION)_amd64.deb
|
2016-08-30 14:06:02 +00:00
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
ifeq ($(RELEASE_BRANCH),$(filter $(RELEASE_BRANCH),unstable testing))
|
|
|
|
DOCKER_TAG := $(subst -,.,$(PACKAGE_VERSION))
|
2016-07-01 11:59:12 +00:00
|
|
|
else
|
2021-06-01 14:29:31 +00:00
|
|
|
DOCKER_TAG := $(subst -,.,$(PACKAGE_VERSION))-$(subst /,-,$(GIT_BRANCH))
|
2016-07-01 11:59:12 +00:00
|
|
|
endif
|
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
DOCKER_IMAGE := $(subst -,,$(COMPANY_NAME_LOW))/4testing-$(PRODUCT_NAME_LOW)
|
|
|
|
DOCKER_DUMMY := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)__$(DOCKER_TAG).dummy
|
2020-01-31 10:33:25 +00:00
|
|
|
DOCKER_ARCH := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)_$(PACKAGE_VERSION).tar.gz
|
2020-12-16 08:39:05 +00:00
|
|
|
DOCKER_ARCH_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/docker/$(notdir $(DOCKER_ARCH))
|
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
.PHONY: all clean clean-docker image deploy docker publish
|
2016-07-01 11:59:12 +00:00
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
$(DOCKER_DUMMY):
|
2021-02-24 15:34:03 +00:00
|
|
|
docker pull ubuntu:20.04
|
2019-10-21 08:51:06 +00:00
|
|
|
docker build \
|
2020-12-16 08:39:05 +00:00
|
|
|
--build-arg PACKAGE_URL=$(PACKAGE_URL) \
|
2020-01-31 10:33:25 +00:00
|
|
|
--build-arg COMPANY_NAME=$(COMPANY_NAME_LOW) \
|
|
|
|
--build-arg PRODUCT_NAME=$(PRODUCT_NAME_LOW) \
|
2019-10-21 08:51:06 +00:00
|
|
|
--build-arg ONLYOFFICE_VALUE=$(ONLYOFFICE_VALUE) \
|
2021-06-01 14:29:31 +00:00
|
|
|
-t $(DOCKER_IMAGE):$(DOCKER_TAG) . && \
|
|
|
|
mkdir -p $$(dirname $@) && \
|
2016-07-01 11:59:12 +00:00
|
|
|
echo "Done" > $@
|
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
$(DOCKER_ARCH): $(DOCKER_DUMMY)
|
|
|
|
docker save $(DOCKER_IMAGE):$(DOCKER_TAG) | \
|
2019-10-21 12:18:04 +00:00
|
|
|
gzip > $@
|
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
all: image
|
2016-07-01 11:59:12 +00:00
|
|
|
|
|
|
|
clean:
|
2021-06-01 14:29:31 +00:00
|
|
|
rm -rfv *.dummy *.tar.gz
|
2016-07-01 11:59:12 +00:00
|
|
|
|
|
|
|
clean-docker:
|
2020-01-31 10:33:25 +00:00
|
|
|
docker rmi -f $$(docker images -q $(COMPANY_NAME_LOW)/*) || exit 0
|
2016-07-01 11:59:12 +00:00
|
|
|
|
2021-06-01 14:29:31 +00:00
|
|
|
image: $(DOCKER_DUMMY)
|
|
|
|
|
|
|
|
deploy: $(DOCKER_DUMMY)
|
|
|
|
for i in {1..3}; do \
|
|
|
|
docker push $(DOCKER_IMAGE):$(DOCKER_TAG) && break || sleep 1m; \
|
|
|
|
done
|
|
|
|
ifeq ($(RELEASE_BRANCH),unstable)
|
|
|
|
docker tag $(DOCKER_IMAGE):$(DOCKER_TAG) $(DOCKER_IMAGE):latest
|
|
|
|
for i in {1..3}; do \
|
|
|
|
docker push $(DOCKER_IMAGE):latest && break || sleep 1m; \
|
|
|
|
done
|
|
|
|
endif
|
2019-10-21 12:18:04 +00:00
|
|
|
|
|
|
|
publish: $(DOCKER_ARCH)
|
2020-12-16 08:39:05 +00:00
|
|
|
aws s3 cp --no-progress --acl public-read \
|
|
|
|
$(DOCKER_ARCH) s3://$(S3_BUCKET)/$(DOCKER_ARCH_URI)
|