Last active
December 29, 2021 15:40
-
-
Save Creatiwww/9dba42ddee5e66bd53976d0433a79f4a to your computer and use it in GitHub Desktop.
Revisions
-
Creatiwww revised this gist
May 14, 2020 . 1 changed file with 0 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -23,7 +23,6 @@ build: stage: build script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "IMAGE_APP_TAG=$STAGE_IMAGE_APP_TAG" >> .env - docker-compose build - docker-compose push @@ -50,7 +49,6 @@ release: stage: release script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "IMAGE_APP_TAG=$PROD_IMAGE_APP_TAG" >> .env - docker-compose build - docker-compose push -
Creatiwww created this gist
May 14, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,73 @@ image: creatiwww/docker-compose:latest services: - docker:dind variables: STAGE_SERVER_IP: 10.10.10.1 PROD_SERVER_IP: 10.10.10.2 STAGE_SERVER_USER: gitlab PROD_SERVER_USER: gitlab STAGE_IMAGE_APP_TAG: registry.my_organiation.org/development/amazing_app/app:stage PROD_IMAGE_APP_TAG: registry.my_organiation.org/development/amazing_app/app:prod EXTERNAL_SERVICE_STAGE_API_BASE_URL: https://test.some-service.com/ EXTERNAL_SERVICE_PROD_API_BASE_URL: https://some-service.com/ stages: - build - staging - release - deploy build: stage: build script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "EXTERNAL_SERVICE_KEY=$EXTERNAL_SERVICE_STAGE_KEY" >> .env - echo "IMAGE_APP_TAG=$STAGE_IMAGE_APP_TAG" >> .env - docker-compose build - docker-compose push only: - pre-prod - master deploy-to-stage: stage: staging script: - eval $(ssh-agent -s) - echo "$SSH_STAGE_SERVER_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "EXTERNAL_SERVICE_KEY=$EXTERNAL_SERVICE_STAGE_KEY" >> .env - echo "IMAGE_APP_TAG=$STAGE_IMAGE_APP_TAG" >> .env - docker-compose -H "ssh://$STAGE_SERVER_USER@$STAGE_SERVER_IP" down --remove-orphans - docker-compose -H "ssh://$STAGE_SERVER_USER@$STAGE_SERVER_IP" pull - docker-compose -H "ssh://$STAGE_SERVER_USER@$STAGE_SERVER_IP" up -d only: - pre-prod - master release: stage: release script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "EXTERNAL_SERVICE_KEY=$EXTERNAL_SERVICE_PROD_KEY" >> .env - echo "IMAGE_APP_TAG=$PROD_IMAGE_APP_TAG" >> .env - docker-compose build - docker-compose push only: - master deploy-to-prod: stage: deploy script: - eval $(ssh-agent -s) - echo "$SSH_PROD_SERVER_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY_IMAGE - echo "EXTERNAL_SERVICE_KEY=$EXTERNAL_SERVICE_PROD_KEY" >> .env - echo "IMAGE_APP_TAG=$PROD_IMAGE_APP_TAG" >> .env - docker-compose -H "ssh://$PROD_SERVER_USER@$PROD_SERVER_IP" down --remove-orphans - docker-compose -H "ssh://$PROD_SERVER_USER@$PROD_SERVER_IP" pull - docker-compose -H "ssh://$PROD_SERVER_USER@$PROD_SERVER_IP" up -d only: - master when: manual