From d7e896e84ddf7ef17abca404a6153e12f54434b6 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Wed, 15 Jul 2020 19:42:39 +0300 Subject: [PATCH 1/2] New DEV deploy script --- .gitlab-ci.yml | 53 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f2a7ea1..4364c45 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -86,27 +86,50 @@ publish:prod: - docker build . -f Dockerfile.prod -t "$IMAGE_NAME":prod - docker push "$IMAGE_NAME":prod +# deploy:dev: +# stage: deploy +# image: alpine:latest +# environment: +# name: dev +# url: http://web.sik.party:3000 +# only: +# - master +# before_script: +# - pwd +# - apk add --update openssh +# - ssh -V +# - mkdir -p ~/.ssh +# - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa +# - chmod 600 ~/.ssh/id_rsa +# - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' +# script: +# - scp docker-compose.yml $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/docker-compose.yml +# - scp .deploy_dev.sh $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/deploy_dev.sh +# - ssh $DEV_SSH_USER@$DEV_SSH_HOST "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" +# - ssh $DEV_SSH_USER@$DEV_SSH_HOST "bash ~/deployment-frontend/deploy_dev.sh \"$IMAGE_NAME:latest\"" + deploy:dev: stage: deploy - image: alpine:latest - environment: - name: dev - url: http://web.sik.party:3000 + image: docker:stable only: - master + environment: + name: dev + url: dev.sik.party + when: manual + variables: + DOCKER_HOST: $DEV_CI_DOCKER_HOST + DOCKER_TLS_VERIFY: 1 before_script: - - pwd - - apk add --update openssh - - ssh -V - - mkdir -p ~/.ssh - - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + - mkdir -p ~/.docker + - echo "$DEV_TLSCACERT" > ~/.docker/ca.pem + - echo "$DEV_TLSCERT" > ~/.docker/cert.pem + - echo "$DEV_TLSKEY" > ~/.docker/key.pem + - docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" "$CI_REGISTRY" script: - - scp docker-compose.yml $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/docker-compose.yml - - scp .deploy_dev.sh $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/deploy_dev.sh - - ssh $DEV_SSH_USER@$DEV_SSH_HOST "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" - - ssh $DEV_SSH_USER@$DEV_SSH_HOST "bash ~/deployment-frontend/deploy_dev.sh \"$IMAGE_NAME:latest\"" + - docker stack deploy --with-registry-auth -c stack-compose.yml "$SERVICE_NAME" + after_script: + - docker logout "$CI_REGISTRY" deploy:prod: stage: deploy From 07abf876032342d1a7e1cd405387f0d40db3e1be Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Wed, 15 Jul 2020 20:44:04 +0300 Subject: [PATCH 2/2] Use DEV image on dev deploy --- .gitlab-ci.yml | 25 +------------------------ stack-compose-dev.yml | 13 +++++++++++++ 2 files changed, 14 insertions(+), 24 deletions(-) create mode 100644 stack-compose-dev.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4364c45..4766098 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -86,28 +86,6 @@ publish:prod: - docker build . -f Dockerfile.prod -t "$IMAGE_NAME":prod - docker push "$IMAGE_NAME":prod -# deploy:dev: -# stage: deploy -# image: alpine:latest -# environment: -# name: dev -# url: http://web.sik.party:3000 -# only: -# - master -# before_script: -# - pwd -# - apk add --update openssh -# - ssh -V -# - mkdir -p ~/.ssh -# - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa -# - chmod 600 ~/.ssh/id_rsa -# - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' -# script: -# - scp docker-compose.yml $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/docker-compose.yml -# - scp .deploy_dev.sh $DEV_SSH_USER@$DEV_SSH_HOST:~/deployment-frontend/deploy_dev.sh -# - ssh $DEV_SSH_USER@$DEV_SSH_HOST "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY" -# - ssh $DEV_SSH_USER@$DEV_SSH_HOST "bash ~/deployment-frontend/deploy_dev.sh \"$IMAGE_NAME:latest\"" - deploy:dev: stage: deploy image: docker:stable @@ -116,7 +94,6 @@ deploy:dev: environment: name: dev url: dev.sik.party - when: manual variables: DOCKER_HOST: $DEV_CI_DOCKER_HOST DOCKER_TLS_VERIFY: 1 @@ -127,7 +104,7 @@ deploy:dev: - echo "$DEV_TLSKEY" > ~/.docker/key.pem - docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" "$CI_REGISTRY" script: - - docker stack deploy --with-registry-auth -c stack-compose.yml "$SERVICE_NAME" + - docker stack deploy --with-registry-auth -c stack-compose-dev.yml "$SERVICE_NAME" after_script: - docker logout "$CI_REGISTRY" diff --git a/stack-compose-dev.yml b/stack-compose-dev.yml new file mode 100644 index 0000000..418f4e7 --- /dev/null +++ b/stack-compose-dev.yml @@ -0,0 +1,13 @@ +version: '3.4' + +services: + frontend: + image: registry.gitlab.com/sahkoinsinoorikilta/vtmk/web2.0-frontend:latest + deploy: + replicas: 1 + restart_policy: + condition: on-failure + update_config: + order: start-first + ports: + - 3000:3000