dev.yaml 7.8 KB

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