From 5970bd8ee388918185773b98ec4dc4657a3b51a0 Mon Sep 17 00:00:00 2001
From: Markus Frosch <markus.frosch@icinga.com>
Date: Fri, 11 Jan 2019 17:05:17 +0100
Subject: [PATCH] Improve Makefile variables for GitLab and set defaults

---
 .gitlab-ci.yml |  4 ----
 Makefile       | 19 ++++++++++++-------
 make-image.sh  | 16 ++++++++++------
 3 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1ccb188..3fd22d4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,10 +5,6 @@ image: docker:latest
 services:
   - docker:dind
 
-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/Makefile b/Makefile
index 93a970d..1a472a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,19 @@
-IMAGE_PREFIX := ${DOCKER_IMAGE_PREFIX}
-ifeq ($(IMAGE_PREFIX),)
-IMAGE_PREFIX := icinga/raspbian-base/
+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/raspbian-base
 endif
+ifeq ($(CI_COMMIT_REF_NAME),)
+CI_COMMIT_REF_NAME := $(shell git rev-parse --abbrev-ref HEAD)
+endif
+
+IMAGE := $(CI_PROJECT_PATH)/${CI_COMMIT_REF_NAME}
 
-IMAGE := $(IMAGE_PREFIX)${CI_COMMIT_REF_NAME}
+ifneq ($(CI_REGISTRY),)
+IMAGE := $(CI_REGISTRY)/$(IMAGE)
+endif
 
 .PHONY: all tarball clean
 
diff --git a/make-image.sh b/make-image.sh
index 118767b..91f7ac3 100755
--- a/make-image.sh
+++ b/make-image.sh
@@ -3,13 +3,17 @@
 DIST=stretch
 GPGKEY=A0DA38D0D76E8B5D638872819165938D90FDDD2E
 
-if [ -n "$DOCKER_IMAGE_PREFIX" ]; then
-  IMAGE="${DOCKER_IMAGE_PREFIX}debootstrap"
-else
-  IMAGE=icinga/raspbian-base/debootstrap
+if [ -z ${CI_REGISTRY+x} ]; then
+  CI_REGISTRY=registry.icinga.com
 fi
-if [ -n "$DOCKER_REGISTRY" ]; then
-  IMAGE="${DOCKER_REGISTRY}/${IMAGE}"
+if [ -z "$CI_PROJECT_PATH" ]; then
+  CI_PROJECT_PATH=build-docker/raspbian-base
+fi
+
+IMAGE="${CI_PROJECT_PATH}/debootstrap"
+
+if [ -n "${CI_REGISTRY}" ]; then
+  IMAGE="${CI_REGISTRY}/${IMAGE}"
 fi
 
 opts=
-- 
GitLab