Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image: docker:stable
- services:
- - docker:dind
- variables:
- DOCKER_DRIVER: overlay2
- before_script:
- - apk update &&
- - apk add openssh &&
- - mkdir -p ~/.ssh &&
- - echo -e "$DEPLOY_KEY" > ~/.ssh/id_rsa &&
- - chmod 600 ~/.ssh/id_rsa
- - echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
- - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- stages:
- - install
- - docker
- - deploy-dev
- - deploy-qa
- install:
- image: node:10.15.3
- stage: install
- only:
- - develop
- script:
- - touch .env
- - echo $ENV_DEV > .env
- - yarn install
- artifacts:
- paths:
- - node_modules/
- docker:
- stage: docker
- only:
- - develop
- script:
- - touch .env
- - ls
- - echo $ENV_DEV > .env
- - cat .env
- - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
- - docker build --tag $REGISTRY:$CI_COMMIT_SHORT_SHA --tag $REGISTRY/mandarinfish:latest .
- - docker push $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
- - docker push $REGISTRY/mandarinfish:latest
- deploy-dev:
- stage: deploy-dev
- only:
- - develop
- script:
- - apk update &&
- - apk add openssh &&
- - touch .env
- - ls
- - echo $ENV_DEV > .env
- - cat .env
- - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
- - docker -H ssh://$USERDEV@$SERVERDEV login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
- - docker -H ssh://$USERDEV@$SERVERDEV pull $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
- - docker -H ssh://$USERDEV@$SERVERDEV stop mandarinfish || true
- - docker -H ssh://$USERDEV@$SERVERDEV system prune -a -f
- - docker -H ssh://$USERDEV@$SERVERDEV network create --driver=bridge --subnet=192.168.0.0/16 dev-orchestra || true
- - >-
- docker -H ssh://$USERDEV@$SERVERDEV run -d
- --restart=on-failure
- -p 5000:5000
- -e REACT_APP_OCTOPUS=$DEV_REACT_APP_OCTOPUS
- -e REACT_APP_CODFISH=$DEV_REACT_APP_CODFISH
- --network=dev-orchestra
- --name mandarinfish $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
- deploy-qa:
- stage: deploy-qa
- only:
- - develop
- - qa
- - /^hotfix/.*$/
- when: manual
- script:
- - apk update &&
- - apk add openssh &&
- - apk add --update curl
- - touch .env
- - echo $ENV_QA > .env
- - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
- - docker -H ssh://$QAUSER@QASERVER login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
- - docker -H ssh://$QAUSER@QASERVER pull $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
- - docker -H ssh://$QAUSER@QASERVER stop mandarinfish || true
- - docker -H ssh://$QAUSER@QASERVER system prune -a -f
- - docker -H ssh://$QAUSER@QASERVER network create --driver=bridge --subnet=10.1.0.0/16 qa-orchestra || true
- - >-
- docker -H ssh://$QAUSER@QASERVER run -d
- --restart=on-failure
- -p 5000:5000
- -e REACT_APP_OCTOPUS=$QA_REACT_APP_OCTOPUS
- -e REACT_APP_CODFISH=$QA_REACT_APP_CODFISH
- --network=qa-orchestra
- --name mandarinfish $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement