From e697e64fc017132b07d4e84f5c3376a3d88a0f13 Mon Sep 17 00:00:00 2001
From: Daya Adianto <dayaadianto@cs.ui.ac.id>
Date: Thu, 19 Sep 2019 17:30:05 +0700
Subject: [PATCH] Fix container image building procedure in the CI/CD
 configuration

---
 .gitlab-ci.yml | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6693dd9..bc76d49 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,16 @@
 ---
-image: docker:19
+image: docker:19-git
+
+# Quickhack based on https://forum.gitlab.com/t/docker-dind-stops-working-after-12-1-0-update/28664/2
+services:
+  - name: docker:19-dind
+    entrypoint: ["env", "-u", "DOCKER_HOST"]
+    command: ["dockerd-entrypoint.sh"]
+variables:
+  DOCKER_HOST: tcp://docker:2375/
+  DOCKER_DRIVER: overlay2
+  DOCKER_TLS_CERTDIR: ""
+
 stages:
   - test
   - deploy
@@ -16,15 +27,15 @@ SonarScanner Analysis:
 
 Publish to Docker Hub:
   stage: deploy
-  before_script:
-    - chmod +x build.sh
   script:
-    - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD docker.io
-    - ./build.sh $IMAGE_NAMESPACE
-    - docker push "$IMAGE_NAMESPACE/sonar-scanner-cli:latest"
+    - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
+    - docker build
+      --build-arg=IMAGE_CREATED="$(date --utc -Iseconds)"
+      --build-arg=IMAGE_REVISION="$(git show --pretty=oneline | tac | tail -n 1 | awk '{print $1}')"
+      --tag $IMAGE_NAMESPACE/sonar-scanner-cli:latest .
   when: manual
   allow_failure: true
   tags:
     - docker
   only:
-    - master
\ No newline at end of file
+    - master
-- 
GitLab