dev.yaml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. name: Deploy to dev
  2. on:
  3. push:
  4. branches:
  5. - dev
  6. jobs:
  7. deploy:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Set up Cloud SDK
  11. uses: google-github-actions/setup-gcloud@v0
  12. with:
  13. project_id: ${{ secrets.GCP_PROJECT_ID }}
  14. service_account_key: ${{ secrets.GCP_SA_KEY }}
  15. export_default_credentials: true
  16. - name: Configure AWS Credentials
  17. uses: aws-actions/configure-aws-credentials@v1
  18. with:
  19. aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  20. aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  21. aws-region: ${{ secrets.AWS_REGION }}
  22. - name: Install kubectl
  23. uses: azure/setup-kubectl@v2.0
  24. with:
  25. version: "v1.19.15"
  26. - name: Log in to gcloud CLI
  27. run: gcloud auth configure-docker
  28. - name: Checkout
  29. uses: actions/checkout@v2.3.4
  30. - name: Write Dashboard Environment Variables
  31. run: |
  32. cat >./dashboard/.env <<EOL
  33. NODE_ENV=development
  34. API_SERVER=dashboard.dev.getporter.dev
  35. DISCORD_KEY=${{secrets.DISCORD_KEY}}
  36. DISCORD_CID=${{secrets.DISCORD_CID}}
  37. FEEDBACK_ENDPOINT=${{secrets.FEEDBACK_ENDPOINT}}
  38. APPLICATION_CHART_REPO_URL=https://charts.dev.getporter.dev
  39. ADDON_CHART_REPO_URL=https://chart-addons.dev.getporter.dev
  40. ENABLE_SENTRY=true
  41. SENTRY_DSN=${{secrets.SENTRY_DSN}}
  42. SENTRY_ENV=frontend-development
  43. EOL
  44. - name: Build
  45. run: |
  46. DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/porter:dev -t 801172602658.dkr.ecr.us-east-2.amazonaws.com/porter:dev -f ./ee/docker/ee.Dockerfile
  47. - name: Push
  48. run: |
  49. docker push gcr.io/porter-dev-273614/porter:dev
  50. - name: Deploy to cluster
  51. run: |
  52. aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name dev
  53. kubectl rollout restart deployment/porter
  54. - name: Configure AWS Dev credentials
  55. uses: aws-actions/configure-aws-credentials@v1
  56. with:
  57. aws-access-key-id: ${{ secrets.ECR_DEV_AWS_ACCESS_KEY_ID }}
  58. aws-secret-access-key: ${{ secrets.ECR_DEV_AWS_ACCESS_SECRET_KEY }}
  59. aws-region: us-east-2
  60. - name: Login to dev ECR
  61. id: login-ecr
  62. run: |
  63. aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 801172602658.dkr.ecr.us-east-2.amazonaws.com
  64. - name: Push to dev registry
  65. run: |
  66. docker push 801172602658.dkr.ecr.us-east-2.amazonaws.com/porter:dev
  67. deploy-provisioner:
  68. runs-on: ubuntu-latest
  69. steps:
  70. - name: Set up Cloud SDK
  71. uses: google-github-actions/setup-gcloud@v0
  72. with:
  73. project_id: ${{ secrets.GCP_PROJECT_ID }}
  74. service_account_key: ${{ secrets.GCP_SA_KEY }}
  75. export_default_credentials: true
  76. - name: Configure AWS Credentials
  77. uses: aws-actions/configure-aws-credentials@v1
  78. with:
  79. aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  80. aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  81. aws-region: ${{ secrets.AWS_REGION }}
  82. - name: Install kubectl
  83. uses: azure/setup-kubectl@v2.0
  84. with:
  85. version: "v1.19.15"
  86. - name: Log in to gcloud CLI
  87. run: gcloud auth configure-docker
  88. - name: Checkout
  89. uses: actions/checkout@v2.3.4
  90. - name: Build
  91. run: |
  92. DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/provisioner-service:dev -f ./ee/docker/provisioner.Dockerfile
  93. - name: Push
  94. run: |
  95. docker push gcr.io/porter-dev-273614/provisioner-service:dev
  96. - name: Deploy to cluster
  97. run: |
  98. aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name dev
  99. kubectl rollout restart deployment/provisioner
  100. build-push-ecr-server:
  101. runs-on: ubuntu-latest
  102. steps:
  103. - name: Checkout code
  104. uses: actions/checkout@v2.3.4
  105. - name: Set Github tag
  106. id: vars
  107. run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
  108. - name: Configure AWS credentials
  109. uses: aws-actions/configure-aws-credentials@v1
  110. with:
  111. aws-access-key-id: ${{ secrets.ECR_DEV_AWS_ACCESS_KEY_ID }}
  112. aws-secret-access-key: ${{ secrets.ECR_DEV_AWS_ACCESS_SECRET_KEY }}
  113. aws-region: us-east-2
  114. - name: Login to ECR
  115. id: login-ecr
  116. run: |
  117. aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 801172602658.dkr.ecr.us-east-2.amazonaws.com
  118. - name: Write Dashboard Environment Variables
  119. run: |
  120. cat >./dashboard/.env <<EOL
  121. NODE_ENV=development
  122. API_SERVER=dashboard.dev.getporter.dev
  123. DISCORD_KEY=${{secrets.DISCORD_KEY}}
  124. DISCORD_CID=${{secrets.DISCORD_CID}}
  125. FEEDBACK_ENDPOINT=${{secrets.FEEDBACK_ENDPOINT}}
  126. APPLICATION_CHART_REPO_URL=https://charts.dev.getporter.dev
  127. ADDON_CHART_REPO_URL=https://chart-addons.dev.getporter.dev
  128. ENABLE_SENTRY=true
  129. SENTRY_DSN=${{secrets.SENTRY_DSN}}
  130. SENTRY_ENV=frontend-development
  131. EOL
  132. - name: Build
  133. run: |
  134. DOCKER_BUILDKIT=1 docker build . -t 801172602658.dkr.ecr.us-east-2.amazonaws.com/porter:${{ steps.vars.outputs.sha_short }} -f ./ee/docker/ee.Dockerfile
  135. - name: Push to ECR
  136. run: |
  137. docker push 801172602658.dkr.ecr.us-east-2.amazonaws.com/porter:${{ steps.vars.outputs.sha_short }}
  138. build-push-ecr-provisioner:
  139. runs-on: ubuntu-latest
  140. steps:
  141. - name: Checkout code
  142. uses: actions/checkout@v2.3.4
  143. - name: Set Github tag
  144. id: vars
  145. run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
  146. - name: Configure AWS credentials
  147. uses: aws-actions/configure-aws-credentials@v1
  148. with:
  149. aws-access-key-id: ${{ secrets.ECR_DEV_AWS_ACCESS_KEY_ID }}
  150. aws-secret-access-key: ${{ secrets.ECR_DEV_AWS_ACCESS_SECRET_KEY }}
  151. aws-region: us-east-2
  152. - name: Login to ECR
  153. id: login-ecr
  154. run: |
  155. aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 801172602658.dkr.ecr.us-east-2.amazonaws.com
  156. - name: Build
  157. run: |
  158. DOCKER_BUILDKIT=1 docker build . -t 801172602658.dkr.ecr.us-east-2.amazonaws.com/provisioner-service:${{ steps.vars.outputs.sha_short }} -f ./ee/docker/provisioner.Dockerfile
  159. - name: Push to ECR
  160. run: |
  161. docker push 801172602658.dkr.ecr.us-east-2.amazonaws.com/provisioner-service:${{ steps.vars.outputs.sha_short }}
  162. build-push-worker-pool:
  163. runs-on: ubuntu-latest
  164. steps:
  165. - name: Checkout code
  166. uses: actions/checkout@v2.3.4
  167. - name: Set Github tag
  168. id: vars
  169. run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
  170. - name: Configure AWS credentials
  171. uses: aws-actions/configure-aws-credentials@v1
  172. with:
  173. aws-access-key-id: ${{ secrets.ECR_DEV_AWS_ACCESS_KEY_ID }}
  174. aws-secret-access-key: ${{ secrets.ECR_DEV_AWS_ACCESS_SECRET_KEY }}
  175. aws-region: us-east-2
  176. - name: Set up Cloud SDK
  177. uses: google-github-actions/setup-gcloud@v0
  178. with:
  179. project_id: ${{ secrets.GCP_PROJECT_ID }}
  180. service_account_key: ${{ secrets.GCP_SA_KEY }}
  181. export_default_credentials: true
  182. - name: Log in to gcloud CLI
  183. run: gcloud auth configure-docker
  184. - name: Login to ECR
  185. id: login-ecr
  186. run: |
  187. aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 801172602658.dkr.ecr.us-east-2.amazonaws.com
  188. - name: Build
  189. run: |
  190. DOCKER_BUILDKIT=1 docker build . -t 801172602658.dkr.ecr.us-east-2.amazonaws.com/worker-pool:${{ steps.vars.outputs.sha_short }} -t gcr.io/porter-dev-273614/worker-pool:dev -f ./workers/Dockerfile
  191. - name: Push to ECR
  192. run: |
  193. docker push 801172602658.dkr.ecr.us-east-2.amazonaws.com/worker-pool:${{ steps.vars.outputs.sha_short }}
  194. docker push gcr.io/porter-dev-273614/worker-pool:dev