Docker-DocumentServer/Makefile

75 lines
2.4 KiB
Makefile
Raw Normal View History

2020-01-31 13:33:25 +03:00
COMPANY_NAME ?= ONLYOFFICE
2019-10-21 11:51:06 +03:00
GIT_BRANCH ?= develop
2020-01-31 13:33:25 +03:00
PRODUCT_NAME ?= DocumentServer
2022-09-18 16:20:15 +03:00
PRODUCT_EDITION ?=
2017-05-17 17:43:24 +03:00
PRODUCT_VERSION ?= 0.0.0
BUILD_NUMBER ?= 0
2022-12-01 14:46:31 +03:00
BUILD_CHANNEL ?= nightly
2019-10-21 11:51:06 +03:00
ONLYOFFICE_VALUE ?= onlyoffice
S3_BUCKET ?= repo-doc-onlyoffice-com
2022-12-01 14:46:31 +03:00
S3_REGION ?= eu-west-1
2017-05-17 17:43:24 +03:00
2020-01-31 13:33:25 +03: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))
2022-09-18 16:20:15 +03:00
PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)$(PRODUCT_EDITION)
2022-12-01 14:46:31 +03:00
PACKAGE_VERSION := $(PRODUCT_VERSION)-$(BUILD_NUMBER)~stretch
PACKAGE_BASEURL := https://s3.$(S3_REGION).amazonaws.com/$(S3_BUCKET)/server/linux/debian/$(BUILD_CHANNEL)
2016-08-30 17:06:02 +03:00
2022-12-01 14:46:31 +03:00
ifeq ($(BUILD_CHANNEL),$(filter $(BUILD_CHANNEL),nightly test))
DOCKER_TAG := $(PRODUCT_VERSION).$(BUILD_NUMBER)
else
2022-12-01 14:46:31 +03:00
DOCKER_TAG := $(PRODUCT_VERSION).$(BUILD_NUMBER)-$(subst /,-,$(GIT_BRANCH))
endif
2022-09-20 14:20:10 +03:00
DOCKER_IMAGE := $(subst -,,$(COMPANY_NAME_LOW))/4testing-$(PRODUCT_NAME_LOW)$(PRODUCT_EDITION)
2022-09-18 16:20:15 +03:00
DOCKER_DUMMY := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)$(PRODUCT_EDITION)__$(DOCKER_TAG).dummy
2022-12-01 14:46:31 +03:00
DOCKER_ARCH := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)_$(DOCKER_TAG).tar.gz
DOCKER_ARCH_URI := server/linux/docker/$(BUILD_CHANNEL)/$(notdir $(DOCKER_ARCH))
.PHONY: all clean clean-docker image deploy docker publish
$(DOCKER_DUMMY):
2021-02-24 18:34:03 +03:00
docker pull ubuntu:20.04
2019-10-21 11:51:06 +03:00
docker build \
2020-01-31 13:33:25 +03:00
--build-arg COMPANY_NAME=$(COMPANY_NAME_LOW) \
--build-arg PRODUCT_NAME=$(PRODUCT_NAME_LOW) \
2022-09-18 16:20:15 +03:00
--build-arg PRODUCT_EDITION=$(PRODUCT_EDITION) \
--build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \
--build-arg PACKAGE_BASEURL=$(PACKAGE_BASEURL) \
--build-arg TARGETARCH=amd64 \
2019-10-21 11:51:06 +03:00
--build-arg ONLYOFFICE_VALUE=$(ONLYOFFICE_VALUE) \
-t $(DOCKER_IMAGE):$(DOCKER_TAG) . && \
mkdir -p $$(dirname $@) && \
echo "Done" > $@
$(DOCKER_ARCH): $(DOCKER_DUMMY)
docker save $(DOCKER_IMAGE):$(DOCKER_TAG) | \
gzip > $@
all: image
clean:
rm -rfv *.dummy *.tar.gz
clean-docker:
2020-01-31 13:33:25 +03:00
docker rmi -f $$(docker images -q $(COMPANY_NAME_LOW)/*) || exit 0
image: $(DOCKER_DUMMY)
deploy: $(DOCKER_DUMMY)
for i in {1..3}; do \
docker push $(DOCKER_IMAGE):$(DOCKER_TAG) && break || sleep 1m; \
done
2022-12-01 14:46:31 +03:00
ifeq ($(BUILD_CHANNEL),nightly)
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
publish: $(DOCKER_ARCH)
aws s3 cp --no-progress --acl public-read \
$(DOCKER_ARCH) s3://$(S3_BUCKET)/$(DOCKER_ARCH_URI)