Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. image: docker:stable
  2. services:
  3. - docker:dind
  4. variables:
  5. DOCKER_DRIVER: overlay2
  6.  
  7. before_script:
  8. - apk update &&
  9. - apk add openssh &&
  10. - mkdir -p ~/.ssh &&
  11. - echo -e "$DEPLOY_KEY" > ~/.ssh/id_rsa &&
  12. - chmod 600 ~/.ssh/id_rsa
  13. - echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
  14. - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
  15.  
  16. stages:
  17. - install
  18. - docker
  19. - deploy-dev
  20. - deploy-qa
  21.  
  22. install:
  23. image: node:10.15.3
  24. stage: install
  25. only:
  26. - develop
  27. script:
  28. - touch .env
  29. - echo $ENV_DEV > .env
  30. - yarn install
  31. artifacts:
  32. paths:
  33. - node_modules/
  34.  
  35. docker:
  36. stage: docker
  37. only:
  38. - develop
  39. script:
  40. - touch .env
  41. - ls
  42. - echo $ENV_DEV > .env
  43. - cat .env
  44. - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
  45. - docker build --tag $REGISTRY:$CI_COMMIT_SHORT_SHA --tag $REGISTRY/mandarinfish:latest .
  46. - docker push $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
  47. - docker push $REGISTRY/mandarinfish:latest
  48.  
  49. deploy-dev:
  50. stage: deploy-dev
  51. only:
  52. - develop
  53. script:
  54. - apk update &&
  55. - apk add openssh &&
  56. - touch .env
  57. - ls
  58. - echo $ENV_DEV > .env
  59. - cat .env
  60. - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
  61. - docker -H ssh://$USERDEV@$SERVERDEV login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
  62. - docker -H ssh://$USERDEV@$SERVERDEV pull $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
  63. - docker -H ssh://$USERDEV@$SERVERDEV stop mandarinfish || true
  64. - docker -H ssh://$USERDEV@$SERVERDEV system prune -a -f
  65. - docker -H ssh://$USERDEV@$SERVERDEV network create --driver=bridge --subnet=192.168.0.0/16 dev-orchestra || true
  66. - >-
  67. docker -H ssh://$USERDEV@$SERVERDEV run -d
  68. --restart=on-failure
  69. -p 5000:5000
  70. -e REACT_APP_OCTOPUS=$DEV_REACT_APP_OCTOPUS
  71. -e REACT_APP_CODFISH=$DEV_REACT_APP_CODFISH
  72. --network=dev-orchestra
  73. --name mandarinfish $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
  74.  
  75. deploy-qa:
  76. stage: deploy-qa
  77. only:
  78. - develop
  79. - qa
  80. - /^hotfix/.*$/
  81. when: manual
  82. script:
  83. - apk update &&
  84. - apk add openssh &&
  85. - apk add --update curl
  86. - touch .env
  87. - echo $ENV_QA > .env
  88. - docker login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
  89. - docker -H ssh://$QAUSER@QASERVER login -u _json_key --password-stdin https://gcr.io < ${HOME}/gcloud-service-key.json
  90. - docker -H ssh://$QAUSER@QASERVER pull $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
  91. - docker -H ssh://$QAUSER@QASERVER stop mandarinfish || true
  92. - docker -H ssh://$QAUSER@QASERVER system prune -a -f
  93. - docker -H ssh://$QAUSER@QASERVER network create --driver=bridge --subnet=10.1.0.0/16 qa-orchestra || true
  94. - >-
  95. docker -H ssh://$QAUSER@QASERVER run -d
  96. --restart=on-failure
  97. -p 5000:5000
  98. -e REACT_APP_OCTOPUS=$QA_REACT_APP_OCTOPUS
  99. -e REACT_APP_CODFISH=$QA_REACT_APP_CODFISH
  100. --network=qa-orchestra
  101. --name mandarinfish $REGISTRY/mandarinfish:$CI_COMMIT_SHORT_SHA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement