production.yaml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. name: Deploy to production
  2. on:
  3. push:
  4. branches:
  5. - production
  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@v1
  24. - name: Log in to gcloud CLI
  25. run: gcloud auth configure-docker
  26. - name: Checkout
  27. uses: actions/checkout@v2.3.4
  28. - name: Write Dashboard Environment Variables
  29. run: |
  30. cat >./dashboard/.env <<EOL
  31. NODE_ENV=production
  32. API_SERVER=dashboard.getporter.dev
  33. COHERE_API_KEY=${{secrets.COHERE_API_KEY}}
  34. DISCORD_KEY=${{secrets.DISCORD_KEY}}
  35. DISCORD_CID=${{secrets.DISCORD_CID}}
  36. FEEDBACK_ENDPOINT=${{secrets.FEEDBACK_ENDPOINT}}
  37. SEGMENT_PUBLIC_KEY=${{secrets.SEGMENT_PUBLIC_KEY}}
  38. APPLICATION_CHART_REPO_URL=https://charts.getporter.dev
  39. ADDON_CHART_REPO_URL=https://chart-addons.getporter.dev
  40. ENABLE_SENTRY=true
  41. SENTRY_DSN=${{secrets.SENTRY_DSN}}
  42. SENTRY_ENV=production
  43. EOL
  44. - name: Build
  45. run: |
  46. DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/porter:latest -f ./ee/docker/ee.Dockerfile --build-arg version=production
  47. - name: Push
  48. run: |
  49. docker push gcr.io/porter-dev-273614/porter:latest
  50. - name: Deploy to cluster
  51. run: |
  52. aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name production-2
  53. kubectl rollout restart deployment/porter
  54. deploy-provisioner:
  55. runs-on: ubuntu-latest
  56. steps:
  57. - name: Set up Cloud SDK
  58. uses: google-github-actions/setup-gcloud@v0
  59. with:
  60. project_id: ${{ secrets.GCP_PROJECT_ID }}
  61. service_account_key: ${{ secrets.GCP_SA_KEY }}
  62. export_default_credentials: true
  63. - name: Configure AWS Credentials
  64. uses: aws-actions/configure-aws-credentials@v1
  65. with:
  66. aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  67. aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  68. aws-region: ${{ secrets.AWS_REGION }}
  69. - name: Install kubectl
  70. uses: azure/setup-kubectl@v1
  71. - name: Log in to gcloud CLI
  72. run: gcloud auth configure-docker
  73. - name: Checkout
  74. uses: actions/checkout@v2.3.4
  75. - name: Build
  76. run: |
  77. DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/provisioner-service:latest -f ./ee/docker/provisioner.Dockerfile
  78. - name: Push
  79. run: |
  80. docker push gcr.io/porter-dev-273614/provisioner-service:latest
  81. - name: Deploy to cluster
  82. run: |
  83. aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name production-2
  84. kubectl rollout restart deployment/provisioner