diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9532dc461fcd0f6e620559458e9dec86085a1a9f..91d3ae2a2fb4e639c790599f0986d6f78b01bea1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,10 +5,6 @@ services: stages: - build -variables: - DOCKER_REGISTRY: ${CI_REGISTRY} - DOCKER_IMAGE_PREFIX: ${CI_PROJECT_PATH}/ - before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN ${CI_REGISTRY} diff --git a/image.mk b/image.mk index dff4daabbe02e9acae72b3d719d06622fe7298c0..12b336dc7b7ef6b76c58ea8ccef5d2c27087f2e9 100644 --- a/image.mk +++ b/image.mk @@ -1,42 +1,40 @@ -OS := debian - -IMAGE_PREFIX := ${DOCKER_IMAGE_PREFIX} -ifeq ($(IMAGE_PREFIX),) -IMAGE_PREFIX := icinga/debian/ +ifndef CI_REGISTRY +CI_REGISTRY := registry.icinga.com endif - -REGISTRY := ${DOCKER_REGISTRY} -ifneq ($(REGISTRY),) -IMAGE_PREFIX := $(REGISTRY)/$(IMAGE_PREFIX) +ifeq ($(CI_PROJECT_PATH),) +CI_PROJECT_PATH := build-docker/debian endif FROM := $(shell grep FROM Dockerfile | cut -d" " -f2) DIST := $(shell basename $$(dirname `pwd`)) VARIANT := $(shell basename `pwd`) -IMAGE := $(IMAGE_PREFIX)$(DIST):$(VARIANT) + +IMAGE := $(CI_PROJECT_PATH)/$(DIST) + +ifneq ($(CI_REGISTRY),) +IMAGE := $(CI_REGISTRY)/$(IMAGE) +endif ifeq ($(VARIANT),x86_64) -IMAGE_EXTRA := $(IMAGE_PREFIX)$(DIST):latest -else -IMAGE_EXTRA := +IMAGE_EXTRA_TAG := latest endif all: pull build pull: - docker pull "$(IMAGE)" || true + docker pull "$(IMAGE):$(VARIANT)" || true docker pull "$(FROM)" build: - docker build --cache-from "${IMAGE}" --tag "$(IMAGE)" . -ifneq ($(IMAGE_EXTRA),) - docker tag "$(IMAGE)" "$(IMAGE_EXTRA)" + docker build --cache-from "$(IMAGE):$(VARIANT)" --tag "$(IMAGE):$(VARIANT)" . +ifdef IMAGE_EXTRA_TAG + docker tag "$(IMAGE):$(VARIANT)" "$(IMAGE):$(IMAGE_EXTRA_TAG)" endif push: docker push "$(IMAGE)" -ifneq ($(IMAGE_EXTRA),) - docker push "$(IMAGE_EXTRA)" +ifdef IMAGE_EXTRA_TAG + docker push "$(IMAGE):$(IMAGE_EXTRA_TAG)" endif clean: