Rename Terraform Deploy to GCP.yaml to onix-gcp-terraform-deploy.yml

This commit is contained in:
AbhishekHS220
2025-06-02 12:17:48 +05:30
committed by GitHub
parent dbf00b7939
commit 681f1846a6

View File

@@ -0,0 +1,54 @@
name: Terraform Deploy to GCP
on:
workflow_dispatch: # Manual trigger
jobs:
terraform:
name: Deploy GCP Infrastructure
runs-on: ubuntu-latest
#env:
# GOOGLE_APPLICATION_CREDENTIALS: ${{ github.workspace }}/gcp-key.json
steps:
- name: Checkout this repository
uses: actions/checkout@v3
- name: Clone Terraform repo from Gerrit
run: |
git clone https://${{ secrets.GERRIT_USERNAME }}:${{ secrets.GERRIT_PAT }}@open-networks.googlesource.com/onix-dev gerrit-repo
- name: Set up Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.5.0
- name: Authenticate to Google Cloud
run: echo "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_JSON }}" > gcp-key.json
- name: Terraform Init with backend
working-directory: ./onix-dev/Terraform
run: |
terraform init \
-backend-config="bucket=your-backend-bucket-name" \
-backend-config="prefix=terraform/state" \
-backend-config="credentials=${{ github.workspace }}/gcp-key.json"
- name: Terraform Plan
working-directory: ./onix-dev/Terraform
run: terraform plan -out=tfplan -var="credentials_file=${{ github.workspace }}/gcp-key.json"
- name: Wait for Manual Approval
uses: hmarr/auto-approve-action@v2
if: false # prevents automatic approval
with:
github-token: ${{ secrets.PAT_GITHUB }}
- name: Terraform Apply
working-directory: ./onix-dev/Terraform
run: terraform apply tfplan
- name: Clean up credentials
run: rm -f gcp-key.json