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