62 lines
1.1 KiB
YAML
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 |