From ae03361b111bf568e1f01773c7e537d9496c6e43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Wed, 17 Nov 2021 10:42:48 +0000 Subject: [PATCH 1/3] Update deploy stages. --- .gitlab-ci.yml | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fa0ef3e..c56a73e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,17 +23,37 @@ build: tags: - generic_privileged -publish: - only: - - /^master/ +# Deploy stage +.deploy:image: + image: ubuntu:focal + stage: deploy + before_script: + - mkdir $HOME/.ssh + - chmod 700 ~/.ssh + # cannot use GitLab variable type File and cp here because key format + # gets garbled somehow; this doesn't happen with echo + - echo "$SSH_PRIVATE_KEY_ED" > $HOME/.ssh/id_ed25519 + - echo "$SSH_PUBKEY_ED" > $HOME/.ssh/id_ed25519.pub + - echo "$SSH_KNOWN_HOSTS" > $HOME/.ssh/known_hosts + - chmod 600 ~/.ssh/id_ed25519 + - chmod 644 ~/.ssh/known_hosts ~/.ssh/id_ed25519.pub + - apt-get update && apt-get install -y openssh-client script: - - 'which ssh-agent || ( apk --update add openssh-client )' - - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - ssh -2 $PUBLISH_USER@$PUBLISH_URL "docker pull $CONTAINER_IMAGE:latest" - - ssh -2 $PUBLISH_USER@$PUBLISH_URL 'cd /mnt/docker/compose-ota-images-apk/ && docker-compose up -d' - - ssh -2 $PUBLISH_USER@$PUBLISH_URL 'docker restart nginx' + - echo "Deploying to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" + # $CI_COMMIT_BRANCH + - ssh $SSH_USER@$DEPLOYMENT_HOST "cd ${DEPLOYMENT_PATH} && docker-compose pull && docker-compose up -d && docker-compose restart nginx" + +deploy:staging: + extends: .deploy:image + when: manual + environment: + name: staging + url: https://ota.eeo.one + +deploy:production: + extends: .deploy:image + only: + - production + environment: + name: production + url: https://ota.ecloud.global -- GitLab From 72fa49ae2d8e0824e09551e7697ecb172ee805b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Wed, 17 Nov 2021 11:07:01 +0000 Subject: [PATCH 2/3] sudo for ops --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c56a73e..751b612 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ build: script: - echo "Deploying to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" # $CI_COMMIT_BRANCH - - ssh $SSH_USER@$DEPLOYMENT_HOST "cd ${DEPLOYMENT_PATH} && docker-compose pull && docker-compose up -d && docker-compose restart nginx" + - ssh $SSH_USER@$DEPLOYMENT_HOST "cd ${DEPLOYMENT_PATH} && sudo docker-compose pull && sudo docker-compose up -d && sudo docker-compose restart nginx" deploy:staging: extends: .deploy:image -- GitLab From 1e44dc1e6fd9dc27264f7fbbf51c5a1923e9e466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnau=20V=C3=A0zquez?= Date: Wed, 17 Nov 2021 12:12:45 +0000 Subject: [PATCH 3/3] Remove sudo as ansible is now on docker group --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 751b612..c56a73e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ build: script: - echo "Deploying to $CI_ENVIRONMENT_NAME ($DEPLOYMENT_HOST)" # $CI_COMMIT_BRANCH - - ssh $SSH_USER@$DEPLOYMENT_HOST "cd ${DEPLOYMENT_PATH} && sudo docker-compose pull && sudo docker-compose up -d && sudo docker-compose restart nginx" + - ssh $SSH_USER@$DEPLOYMENT_HOST "cd ${DEPLOYMENT_PATH} && docker-compose pull && docker-compose up -d && docker-compose restart nginx" deploy:staging: extends: .deploy:image -- GitLab