add ci/cd action workflow for terraform deployment
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
name: Terraform CI
|
||||
run-name: $${{ gitea.actor }} triggered a Terraform CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
terraform:
|
||||
runs-on: infra-terraform
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: environments/prod/proxmox
|
||||
|
||||
env:
|
||||
PROXMOX_VE_ENDPOINT: ${{ secrets.PROXMOX_VE_ENDPOINT }}
|
||||
PROXMOX_VE_API_TOKEN: ${{ secrets.PROXMOX_VE_API_TOKEN }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# Job will fail if you didn't run `terraform fmt -recursive`
|
||||
- name: Check formatting
|
||||
run: terraform fmt-check -recursive
|
||||
|
||||
- name: Initialize Terraform modules
|
||||
run: terraform init
|
||||
|
||||
- name: Validate Terraform
|
||||
run: terraform validate
|
||||
|
||||
- name: Create Terraform plan
|
||||
run: terraform plan -out=tfplan
|
||||
|
||||
# Job will apply the plan if pushed to main
|
||||
- name: Conditionally apply the Terraform plan
|
||||
if: github.event_name == 'push' && github.ref == 'refs/head/main'
|
||||
run: terraform apply -auto-approve
|
||||
|
||||
Reference in New Issue
Block a user