From f581d917309d6032f8f18d32d2918c52c914efbd Mon Sep 17 00:00:00 2001 From: Skia Date: Wed, 27 Apr 2022 18:21:48 +0000 Subject: [PATCH] gitlab-ci: deploy with Gitlab CI/CD --- .gitlab-ci.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2f6dd6a4..91a118ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - test + - deploy # Installs and launch unittests unittests: @@ -47,3 +48,40 @@ black: cache: paths: - .cache/pip_black + +deploy: + stage: deploy + before_script: + ## + ## Install ssh-agent if not already installed, it is required by Docker. + ## (change apt-get to yum if you use an RPM-based image) + ## + - 'command -v ssh-agent >/dev/null || ( 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 + script: + - ssh -o StrictHostKeyChecking=accept-new sith@ae-web $SITH_PROD_SCRIPT_PATH + environment: + name: prod + url: https://ae.utbm.fr + only: + refs: + - master + when: on_success