From 4fd3f6ec4be528525652e5db78048f9ed7332f52 Mon Sep 17 00:00:00 2001
From: sbailo <sbailo@fhi-berlin.mpg.de>
Date: Wed, 22 Dec 2021 14:53:32 +0100
Subject: [PATCH] CI updates tag in app

---
 .gitlab-ci.yml               |  2 +-
 .gitlab-ci/update_tag_app.sh | 42 ++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9f9bfb9..787d744 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ build:
   script:
     - docker login -u ai_toolkit -p ${AI_TOOLKIT_TOKEN} ${APP_REGISTRY}
     - docker pull ${CI_REGISTRY_IMAGE}:latest 
-    - docker build --cache-from ${CI_REGISTRY_IMAGE}:latest -t ${CI_REGISTRY_IMAGE}:latest -t ${APP_REGISTRY}:gui -t ${APP_REGISTRY}:gui${CI_COMMIT_SHORT_SHA} .
+    - docker build --cache-from ${CI_REGISTRY_IMAGE}:latest -t ${CI_REGISTRY_IMAGE}:latest -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA} -t ${APP_REGISTRY}:gui -t ${APP_REGISTRY}:gui${CI_COMMIT_SHORT_SHA} .
     - docker push ${CI_REGISTRY_IMAGE}:latest
     - docker push ${APP_REGISTRY}:gui
     - docker push ${APP_REGISTRY}:gui${CI_COMMIT_SHORT_SHA}
diff --git a/.gitlab-ci/update_tag_app.sh b/.gitlab-ci/update_tag_app.sh
index e69de29..7d06518 100644
--- a/.gitlab-ci/update_tag_app.sh
+++ b/.gitlab-ci/update_tag_app.sh
@@ -0,0 +1,42 @@
+# !/bin/bash
+
+# Based on: https://docs.gitlab.com/ee/ci/ssh_keys/README.html
+
+# Install ssh-agent if not already installed, it is required by Docker.
+# (change apt-get to yum if you use an RPM-based image)
+# - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
+# Run ssh-agent (inside the build environment)
+eval $(ssh-agent -s)
+
+# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
+# We're using tr to fix line endings which makes ed25519 keys work
+# without extra base64 encoding.
+# https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
+echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
+
+# Create the SSH directory and give it the right permissions
+mkdir -p ~/.ssh
+chmod 700 ~/.ssh
+
+# Use ssh-keyscan to scan the keys of your private server.
+ssh-keyscan gitlab.mpcdf.mpg.de >> ~/.ssh/known_hosts
+chmod 644 ~/.ssh/known_hosts
+
+# Set the user name and email.
+git config --global user.name $GITLAB_USER_NAME
+git config --global user.email $GITLAB_USER_EMAIL
+
+
+# Clone the private repository
+git clone git@gitlab.mpcdf.mpg.de:nomad-lab/aitoolkit-app.git /tmp/aitoolkit-app
+cd /tmp/aitoolkit-app
+
+# Update the tag of the docker image
+sed  -i "s/aitoolkit-app:gui.*/aitoolkit-app:gui$CI_COMMIT_SHORT_SHA/1" docker-compose.yml
+
+# Finally, commit and push the changes
+git add docker-compose.yml
+git commit -m "CI: Update the GUI image ($CI_COMMIT_SHORT_SHA)"
+git push
+
+rm -rf /tmp/aitoolkit-app
-- 
GitLab