name: Deploy cantdidnt for Libera on: push: branches: - $default-branch env: PROJECT_ID: ${{ secrets.GKE_PROJECT }} GKE_CLUSTER: cluster-1 GKE_ZONE: us-central1-c DEPLOYMENT_NAME: candide REPOSITORY: pbot IMAGE: candide jobs: build-deploy-gke-prod: name: Build & Deploy to GKE in Production runs-on: ubuntu-latest permissions: contents: 'read' id-token: 'write' steps: - name: Checkout uses: actions/checkout@v3 - name: 'Authenticate to Google Cloud' id: 'auth' uses: 'google-github-actions/auth@v0' with: credentials_json: '${{ secrets.GCP_CREDENTIALS }}' - name: Docker configuration run: |- echo ${{steps.auth.outputs.access_token}} | docker login -u oauth2accesstoken --password-stdin https://gcr.io - name: Set up GKE credentials uses: google-github-actions/get-gke-credentials@v0 with: cluster_name: ${{ env.GKE_CLUSTER }} location: ${{ env.GKE_ZONE }} - name: Build image run: |- docker build --tag "gcr.io/$PROJECT_ID/$REPOSITORY/$IMAGE:$GITHUB_SHA" . - name: Push image run: |- docker push "gcr.io/$PROJECT_ID/$REPOSITORY/$IMAGE:$GITHUB_SHA" - name: Set up Kustomize run: |- curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64 chmod u+x ./kustomize - name: Deploy image run: |- # replacing the image name in the k8s template ./kustomize edit set image LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE:TAG=gcr.io/$PROJECT_ID/$REPOSITORY/$IMAGE:$GITHUB_SHA ./kustomize build . | kubectl apply -f - kubectl rollout status deployment/$DEPLOYMENT_NAME kubectl get services -o wide