production.yaml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. name: Deploy to production
  2. on:
  3. push:
  4. # tags:
  5. # - production
  6. branches:
  7. - test-migrations-2
  8. jobs:
  9. deploy:
  10. runs-on: ubuntu-latest
  11. steps:
  12. - name: Set up Cloud SDK
  13. uses: google-github-actions/setup-gcloud@v0
  14. with:
  15. project_id: ${{ secrets.GCP_PROJECT_ID }}
  16. service_account_key: ${{ secrets.GCP_SA_KEY }}
  17. export_default_credentials: true
  18. # - name: Configure AWS Credentials
  19. # uses: aws-actions/configure-aws-credentials@v1-node16
  20. # with:
  21. # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  22. # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  23. # aws-region: ${{ secrets.AWS_REGION }}
  24. # - name: Install kubectl
  25. # uses: azure/setup-kubectl@v2.0
  26. # with:
  27. # version: "v1.19.15"
  28. - name: Log in to gcloud CLI
  29. run: gcloud auth configure-docker
  30. # - name: Checkout
  31. # uses: actions/checkout@v3
  32. # - name: Write Dashboard Environment Variables
  33. # run: |
  34. # cat >./dashboard/.env <<EOL
  35. # NODE_ENV=production
  36. # API_SERVER=dashboard.getporter.dev
  37. # COHERE_API_KEY=${{secrets.COHERE_API_KEY}}
  38. # DISCORD_KEY=${{secrets.DISCORD_KEY}}
  39. # DISCORD_CID=${{secrets.DISCORD_CID}}
  40. # FEEDBACK_ENDPOINT=${{secrets.FEEDBACK_ENDPOINT}}
  41. # IS_HOSTED=true
  42. # ENABLE_COHERE=true
  43. # COHERE_API_KEY=${{secrets.COHERE_KEY}}
  44. # INTERCOM_APP_ID=${{secrets.INTERCOM_APP_ID}}
  45. # INTERCOM_SRC=${{secrets.INTERCOM_SRC}}
  46. # HOTJAR_ID=${{secrets.HOTJAR_ID}}
  47. # SEGMENT_WRITE_KEY=${{secrets.SEGMENT_WRITE_KEY}}
  48. # SEGMENT_PUBLIC_KEY=${{secrets.SEGMENT_PUBLIC_KEY}}
  49. # APPLICATION_CHART_REPO_URL=https://charts.getporter.dev
  50. # ADDON_CHART_REPO_URL=https://chart-addons.getporter.dev
  51. # ENABLE_SENTRY=true
  52. # SENTRY_DSN=${{secrets.SENTRY_DSN}}
  53. # SENTRY_ENV=frontend-production
  54. # ZAPIER_WEBHOOK_URL=${{secrets.ZAPIER_WEBHOOK_URL}}
  55. # DISCORD_WEBHOOK_URL=${{secrets.DISCORD_WEBHOOK_URL}}
  56. # EOL
  57. # - name: Build
  58. # run: |
  59. # DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/porter:latest -f ./ee/docker/ee.Dockerfile --build-arg version=production
  60. # - name: Push
  61. # run: |
  62. # docker push gcr.io/porter-dev-273614/porter:latest
  63. - name: Run Migrations
  64. env:
  65. DB_HOST: ${{ secrets.DB_HOST }}
  66. DB_PORT: ${{ secrets.DB_PORT }}
  67. DB_USER: ${{ secrets.DB_USER }}
  68. DB_PASS: ${{ secrets.DB_PASS }}
  69. DB_NAME: ${{ secrets.DB_NAME }}
  70. run: |
  71. echo -e DB_HOST=$DB_HOST -e DB_PORT=$DB_PORT -e DB_USER=$DB_USER -e DB_NAME=$DB_NAME | sed 's/./& /g'
  72. docker run \
  73. -e DB_HOST=$DB_HOST -e DB_PORT=$DB_PORT -e DB_USER=$DB_USER -e DB_PASS=$DB_PASS -e DB_NAME=$DB_NAME \
  74. gcr.io/porter-dev-273614/porter:latest \
  75. /porter/migrate
  76. - name: Deploy to cluster
  77. run: |
  78. aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name production-2
  79. kubectl rollout restart deployment/porter
  80. # deploy-provisioner:
  81. # runs-on: ubuntu-latest
  82. # steps:
  83. # - name: Set up Cloud SDK
  84. # uses: google-github-actions/setup-gcloud@v0
  85. # with:
  86. # project_id: ${{ secrets.GCP_PROJECT_ID }}
  87. # service_account_key: ${{ secrets.GCP_SA_KEY }}
  88. # export_default_credentials: true
  89. # - name: Configure AWS Credentials
  90. # uses: aws-actions/configure-aws-credentials@v1-node16
  91. # with:
  92. # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  93. # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  94. # aws-region: ${{ secrets.AWS_REGION }}
  95. # - name: Install kubectl
  96. # uses: azure/setup-kubectl@v2.0
  97. # with:
  98. # version: "v1.19.15"
  99. # - name: Log in to gcloud CLI
  100. # run: gcloud auth configure-docker
  101. # - name: Checkout
  102. # uses: actions/checkout@v3
  103. # - name: Build
  104. # run: |
  105. # DOCKER_BUILDKIT=1 docker build . -t gcr.io/porter-dev-273614/provisioner-service:latest -f ./ee/docker/provisioner.Dockerfile
  106. # - name: Push
  107. # run: |
  108. # docker push gcr.io/porter-dev-273614/provisioner-service:latest
  109. # - name: Deploy to cluster
  110. # run: |
  111. # aws eks --region ${{ secrets.AWS_REGION }} update-kubeconfig --name production-2
  112. # kubectl rollout restart deployment/provisioner