Guest User

Untitled

a guest
Jan 8th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. ---
  2. version: 2
  3. jobs:
  4. build:
  5. docker:
  6. - image: circleci/python:3.6.1
  7. working_directory: ~/repo
  8. steps:
  9. - checkout
  10. - restore_cache:
  11. keys:
  12. - v1-dependencies-{{ checksum "requirements.txt" }}
  13. - v1-dependencies-
  14. - run:
  15. name: Install dependencies
  16. command: |
  17. python3 -m venv venv
  18. . venv/bin/activate
  19. pip install -r requirements.txt
  20. push_to_quay:
  21. docker:
  22. - image: quay.io/org/ts-docker-deployment-dev
  23. environment:
  24. IMAGE_NAME: quay.io/org/ts-sample
  25. auth:
  26. username: $QUAY_USERNAME
  27. password: $QUAY_PASSWORD
  28. working_directory: ~/repo
  29. steps:
  30. - checkout
  31. - setup_remote_docker:
  32. docker_layer_caching: true
  33. - run:
  34. name: Build & Push Docker image to Quay.io
  35. command: |
  36. quay-push.v2.sh
  37. deploy_to_development:
  38. docker:
  39. - image: quay.io/org/ts-docker-deployment-dev
  40. auth:
  41. username: $QUAY_USERNAME
  42. password: $QUAY_PASSWORD
  43. environment:
  44. RELEASE_NAME: ts-sample-dev
  45. RELEASE_NAMESPACE: default
  46. HELM_CHART_NAME: ts-backend-chart
  47. HELM_VALUES_S3_FOLDER: ts-sample
  48. HELM_VALUES_FILENAME: values.yaml
  49. HELM_VALUES_BASE_ON: true
  50. DD_ENVIRONMENT_TAG: development
  51. steps:
  52. - checkout
  53. - run:
  54. name: Deploying to Development Environment
  55. command: |
  56. helm-launcher.v2.sh
  57. deploy_to_qa:
  58. docker:
  59. - image: quay.io/org/ts-docker-deployment-dev
  60. auth:
  61. username: $QUAY_USERNAME
  62. password: $QUAY_PASSWORD
  63. environment:
  64. RELEASE_NAME: ts-sample-qa
  65. RELEASE_NAMESPACE: qa
  66. HELM_CHART_NAME: ts-backend-chart
  67. HELM_VALUES_S3_FOLDER: ts-sample
  68. HELM_VALUES_FILENAME: values.qa.yaml
  69. HELM_VALUES_BASE_ON: true
  70. DD_ENVIRONMENT_TAG: qa
  71. steps:
  72. - checkout
  73. - run:
  74. name: Deploying to QA Environment
  75. command: |
  76. helm-launcher.v2.sh
  77. deploy_to_production_primary:
  78. docker:
  79. - image: quay.io/org/ts-docker-deployment-prod
  80. auth:
  81. username: $QUAY_USERNAME
  82. password: $QUAY_PASSWORD
  83. environment:
  84. RELEASE_NAME: ts-sample-prod
  85. RELEASE_NAMESPACE: default
  86. HELM_CHART_NAME: ts-backend-chart
  87. HELM_VALUES_S3_FOLDER: ts-sample
  88. HELM_VALUES_FILENAME: values.yaml
  89. HELM_VALUES_BASE_ON: true
  90. DD_ENVIRONMENT_TAG: production
  91. steps:
  92. - checkout
  93. - run:
  94. name: Deploying to Production Environment (Primary)
  95. command: |
  96. kubectl get pods
  97. kubectl get svc
  98. workflows:
  99. version: 2
  100. build_and_deploy:
  101. jobs:
  102. - build
  103. - push_to_quay:
  104. requires:
  105. - build
  106. filters:
  107. branches:
  108. only: master
  109. - deploy_to_development:
  110. requires:
  111. - build
  112. - push_to_quay
  113. filters:
  114. branches:
  115. only: master
  116. - approval_to_qa:
  117. type: approval
  118. requires:
  119. - build
  120. - push_to_quay
  121. - deploy_to_development
  122. filters:
  123. branches:
  124. only: master
  125. - deploy_to_qa:
  126. requires:
  127. - build
  128. - push_to_quay
  129. - deploy_to_development
  130. - approval_to_qa
  131. filters:
  132. branches:
  133. only: master
  134. - approval_to_production:
  135. type: approval
  136. requires:
  137. - build
  138. - push_to_quay
  139. - deploy_to_development
  140. - approval_to_qa
  141. - deploy_to_qa
  142. filters:
  143. branches:
  144. only: master
  145. - deploy_to_production_primary:
  146. requires:
  147. - build
  148. - push_to_quay
  149. - deploy_to_development
  150. - approval_to_qa
  151. - deploy_to_qa
  152. - approval_to_production
  153. filters:
  154. branches:
  155. only: master
Add Comment
Please, Sign In to add comment