Skip to content

Instantly share code, notes, and snippets.

@mikamboo
Forked from angeloreale/.gitlab-ci.yml
Created January 29, 2021 09:09
Show Gist options
  • Save mikamboo/f98233b03d0b10ebc1a33adb5260e43a to your computer and use it in GitHub Desktop.
Save mikamboo/f98233b03d0b10ebc1a33adb5260e43a to your computer and use it in GitHub Desktop.

Revisions

  1. @angeloreale angeloreale revised this gist Feb 9, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions .gitlab-ci.yml
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,7 @@ build_dev:
    image: docker:stable
    stage: build
    script:
    - docker build --tag $CONTAINER_IMAGE/ar-dev:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$STAGE_CONTAINER:latest .
    - docker build --tag $CONTAINER_IMAGE/$STAGE_CONTAINER:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$STAGE_CONTAINER:latest .
    - docker push $CONTAINER_IMAGE/$STAGE_CONTAINER:$CI_COMMIT_SHA
    - docker push $CONTAINER_IMAGE/$STAGE_CONTAINER:latest

    @@ -40,7 +40,7 @@ build_master:
    image: docker:stable
    stage: build
    script:
    - docker build --tag $CONTAINER_IMAGE/ar-prod:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$PROD_CONTAINER:latest .
    - docker build --tag $CONTAINER_IMAGE/$PROD_CONTAINER:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$PROD_CONTAINER:latest .
    - docker push $CONTAINER_IMAGE/$PROD_CONTAINER:$CI_COMMIT_SHA
    - docker push $CONTAINER_IMAGE/$PROD_CONTAINER:latest

  2. @angeloreale angeloreale revised this gist Feb 9, 2019. 1 changed file with 8 additions and 6 deletions.
    14 changes: 8 additions & 6 deletions .gitlab-ci.yml
    Original file line number Diff line number Diff line change
    @@ -26,8 +26,9 @@ build_dev:
    image: docker:stable
    stage: build
    script:
    - docker build -t $CONTAINER_IMAGE/dev:latest .
    - docker push $CONTAINER_IMAGE/dev:latest
    - docker build --tag $CONTAINER_IMAGE/ar-dev:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$STAGE_CONTAINER:latest .
    - docker push $CONTAINER_IMAGE/$STAGE_CONTAINER:$CI_COMMIT_SHA
    - docker push $CONTAINER_IMAGE/$STAGE_CONTAINER:latest

    build_master:
    only:
    @@ -39,8 +40,9 @@ build_master:
    image: docker:stable
    stage: build
    script:
    - docker build -t $CONTAINER_IMAGE/prod:latest .
    - docker push $CONTAINER_IMAGE/prod:latest
    - docker build --tag $CONTAINER_IMAGE/ar-prod:$CI_COMMIT_SHA --tag $CONTAINER_IMAGE/$PROD_CONTAINER:latest .
    - docker push $CONTAINER_IMAGE/$PROD_CONTAINER:$CI_COMMIT_SHA
    - docker push $CONTAINER_IMAGE/$PROD_CONTAINER:latest

    stage:
    only:
    @@ -53,7 +55,7 @@ stage:
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $DEV_FOLDER && git fetch --all && git reset --hard origin/dev && docker-compose up -d --force-recreate --build $STAGE_CONTAINER && docker logout registry.gitlab.com"
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $DEV_FOLDER && git fetch --all && git reset --hard origin/dev && docker-compose pull $STAGE_CONTAINER && sudo service $STAGE_CONTAINER restart && docker logout registry.gitlab.com"

    deploy:
    only:
    @@ -66,4 +68,4 @@ deploy:
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $PROD_FOLDER && git fetch --all && git reset --hard origin/master && docker-compose up -d --force-recreate --build $PROD_CONTAINER && docker logout registry.gitlab.com"
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $PROD_FOLDER && git fetch --all && git reset --hard origin/master && docker-compose pull $PROD_CONTAINER && sudo service $PROD_CONTAINER restart && docker logout registry.gitlab.com"
  3. @angeloreale angeloreale created this gist Feb 4, 2019.
    69 changes: 69 additions & 0 deletions .gitlab-ci.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,69 @@
    image: docker:stable

    variables:
    DOCKER_DRIVER: overlay2
    CONTAINER_IMAGE: registry.gitlab.com/$CI_PROJECT_PATH
    STAGE_CONTAINER: dev
    PROD_CONTAINER: prod
    DEV_FOLDER: /path/to/repo/dev
    PROD_FOLDER: /path/to/repo/prod

    services:
    - docker:dind

    stages:
    - build
    - stage
    - deploy

    build_dev:
    only:
    - dev
    before_script:
    - docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com
    after_script:
    - docker logout registry.gitlab.com
    image: docker:stable
    stage: build
    script:
    - docker build -t $CONTAINER_IMAGE/dev:latest .
    - docker push $CONTAINER_IMAGE/dev:latest

    build_master:
    only:
    - master
    before_script:
    - docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com
    after_script:
    - docker logout registry.gitlab.com
    image: docker:stable
    stage: build
    script:
    - docker build -t $CONTAINER_IMAGE/prod:latest .
    - docker push $CONTAINER_IMAGE/prod:latest

    stage:
    only:
    - dev
    stage: stage
    image: kroniak/ssh-client
    script:
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $DEV_FOLDER && git fetch --all && git reset --hard origin/dev && docker-compose up -d --force-recreate --build $STAGE_CONTAINER && docker logout registry.gitlab.com"

    deploy:
    only:
    - master
    stage: deploy
    image: kroniak/ssh-client
    script:
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - ssh -i ~/.ssh/id_rsa $SSH_HOST "docker login --username gitlab-ci-token --password $CI_BUILD_TOKEN registry.gitlab.com && cd $PROD_FOLDER && git fetch --all && git reset --hard origin/master && docker-compose up -d --force-recreate --build $PROD_CONTAINER && docker logout registry.gitlab.com"