From 7fc070b61454595bc162c832f440f59d25a5d940 Mon Sep 17 00:00:00 2001
From: Markus Frosch <markus.frosch@icinga.com>
Date: Sun, 1 Sep 2019 11:45:04 +0200
Subject: [PATCH] Update image.mk for GitLab CI vars

---
 .gitlab-ci.yml |  6 +-----
 image.mk       | 39 +++++++++++++++++++--------------------
 2 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4063721..edaae4b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,13 +5,9 @@ services:
 stages:
   - build
 
-variables:
-  DOCKER_REGISTRY: registry.icinga.com
-  DOCKER_IMAGE_PREFIX: ${CI_PROJECT_PATH}/
-
 before_script:
   - docker info
-  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.icinga.com
+  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
   - apk -U add make
 
 .build_job: &build_job
diff --git a/image.mk b/image.mk
index ed9a163..b238680 100644
--- a/image.mk
+++ b/image.mk
@@ -1,41 +1,40 @@
-OS := opensuse
-
-IMAGE_PREFIX := ${DOCKER_IMAGE_PREFIX}
-ifeq ($(IMAGE_PREFIX),)
-IMAGE_PREFIX := icinga/$(OS)/
+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/opensuse
 endif
 
 FROM := $(shell grep FROM Dockerfile | cut -d" " -f2)
 VERSION := $(shell basename `pwd`)
-IMAGE := $(IMAGE_PREFIX)$(VERSION):$(VARIANT)
+VARIANT := x86_64
+
+IMAGE := $(CI_PROJECT_PATH)/$(VERSION)
+
+ifneq ($(CI_REGISTRY),)
+IMAGE := $(CI_REGISTRY)/$(IMAGE)
+endif
 
 ifeq ($(VARIANT),x86_64)
-IMAGE_EXTRA := $(IMAGE_PREFIX)$(VERSION):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 --tag "$(IMAGE)" .
-ifneq ($(IMAGE_EXTRA),)
-	docker tag "$(IMAGE)" "$(IMAGE_EXTRA)"
+	docker build --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)"
+	docker push "$(IMAGE):$(VARIANT)"
+ifdef IMAGE_EXTRA_TAG
+	docker push "$(IMAGE):$(IMAGE_EXTRA_TAG)"
 endif
 
 clean:
-- 
GitLab