Files
yml/pipelines/terraform.yml

62 lines
1.1 KiB
YAML

stages:
- plan
- apply
- destroy
include:
- project: 'developerdurp/yml'
ref: main
file:
- 'jobs/terraform.yml'
workflow:
rules:
- if: $CI_COMMIT_BRANCH
changes:
- terraform/**
format:
stage: .pre
allow_failure: false
extends: .terraform_fmt
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
validate:
stage: .pre
allow_failure: false
extends: .terraform_validate
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
plan:
stage: plan
variables:
ARGUMENTS: -var-file=terraform.tfvars
allow_failure: false
extends: .terraform_plan
needs: ["validate","format"]
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: always
apply:
stage: apply
variables:
ARGUMENTS: -var-file=terraform.tfvars
allow_failure: false
extends: .terraform_apply
rules:
- when: manual
destroy:
stage: destroy
variables:
ARGUMENTS: -var-file=terraform.tfvars
allow_failure: false
extends: .terraform_destroy
needs: ["apply"]
rules:
- when: manual