This commit is contained in:
33
.github/workflows/terraform.yaml
vendored
33
.github/workflows/terraform.yaml
vendored
@@ -1,43 +1,40 @@
|
|||||||
name: Terraform CI/CD
|
name: Terraform
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request:
|
branches: [ main ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
terraform:
|
terraform:
|
||||||
runs-on: ssot
|
runs-on: ssot
|
||||||
|
|
||||||
container:
|
defaults:
|
||||||
image: hashicorp/terraform:1.6.6
|
run:
|
||||||
|
working-directory: terraform
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install dependencies
|
|
||||||
run: apk add --no-cache nodejs npm git
|
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Terraform
|
||||||
|
uses: hashicorp/setup-terraform@v3
|
||||||
|
|
||||||
- name: Terraform Init
|
- name: Terraform Init
|
||||||
run: terraform -chdir=terraform init -input=false
|
run: terraform init -input=false
|
||||||
|
|
||||||
- name: Terraform Validate
|
- name: Terraform Validate
|
||||||
run: terraform -chdir=terraform validate
|
run: terraform validate
|
||||||
|
|
||||||
- name: Terraform Plan
|
- name: Terraform Plan
|
||||||
run: terraform -chdir=terraform plan -input=false -out=tfplan
|
run: terraform plan -input=false -out=tfplan
|
||||||
|
|
||||||
- name: Show plan
|
- name: Upload plan
|
||||||
run: terraform -chdir=terraform show -no-color tfplan > terraform/plan.txt
|
|
||||||
|
|
||||||
- name: Upload plan artifact
|
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: terraform-plan
|
name: terraform-plan
|
||||||
path: |
|
path: terraform/tfplan
|
||||||
terraform/tfplan
|
|
||||||
terraform/plan.txt
|
|
||||||
|
|
||||||
|
# Optional: apply only on main
|
||||||
- name: Terraform Apply
|
- name: Terraform Apply
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
run: terraform -chdir=terraform apply -input=false -auto-approve tfplan
|
run: terraform apply -input=false -auto-approve tfplan
|
||||||
|
|||||||
Reference in New Issue
Block a user