diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..f1e11cc --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,47 @@ +name: Deploy to Google Cloud + +on: + push: + branches: + - project_10 + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Authenticate Google Cloud + uses: google-github-actions/auth@v2 + with: + project_id: ${{ secrets.GCP_PROJECT_ID }} + credentials_json: ${{ secrets.GCP_SA_KEY }} + + - name: Set up Google Cloud SDK + uses: google-github-actions/setup-gcloud@v0.2.0 + with: + service_account_key: ${{ secrets.GCP_SA_KEY }} + project_id: ${{ secrets.GCP_PROJECT_ID }} + + - name: Build and Push Docker images + run: | + gcloud auth configure-docker + docker build -t gcr.io/${{ secrets.GCP_PROJECT_ID }}/frontend:${{ github.sha }} ./project_10/client + docker build -t gcr.io/${{ secrets.GCP_PROJECT_ID }}/backend:${{ github.sha }} ./project_10/server + docker push gcr.io/${{ secrets.GCP_PROJECT_ID }}/frontend:${{ github.sha }} + docker push gcr.io/${{ secrets.GCP_PROJECT_ID }}/backend:${{ github.sha }} + + - name: Deploy Frontend to Cloud Run + uses: google-github-actions/deploy-cloudrun@v0.2.0 + with: + service: frontend-service + image: gcr.io/${{ secrets.GCP_PROJECT_ID }}/frontend:${{ github.sha }} + region: europe-central2 + + - name: Deploy Backend to Cloud Run + uses: google-github-actions/deploy-cloudrun@v0.2.0 + with: + service: backend-service + image: gcr.io/${{ secrets.GCP_PROJECT_ID }}/backend:${{ github.sha }} + region: europe-central2