Skip to content

Terraform Deploy

Terraform Deploy #20

Workflow file for this run

name: Terraform Deploy
on:
workflow_run:
workflows: ["Terraform Build"]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_branch }}
- name: Verify directory structure
run: |
pwd
ls -R
working-directory: backend
continue-on-error: true
- name: Set up Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.9.8
- name: Download Plan Artifact
uses: actions/download-artifact@v4
with:
name: terraform-plan
path: backend
- name: Terraform Init
run: terraform init
working-directory: backend
env:
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
- name: Terraform Apply
run: terraform apply -auto-approve tfplan
working-directory: backend
env:
ARM_CLIENT_ID: ${{ secrets.AZURE_CREDENTIALS.clientId }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CREDENTIALS.clientSecret }}
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_CREDENTIALS.subscriptionId }}
ARM_TENANT_ID: ${{ secrets.AZURE_CREDENTIALS.tenantId }}