92 lines
1.8 KiB
YAML
92 lines
1.8 KiB
YAML
stages:
|
|
- plan
|
|
- apply
|
|
- destroy
|
|
|
|
include:
|
|
- project: 'developerdurp/yml'
|
|
ref: main
|
|
file:
|
|
- 'jobs/terraform.yml'
|
|
|
|
format:
|
|
stage: .pre
|
|
allow_failure: false
|
|
extends: .terraform_fmt
|
|
|
|
validate:
|
|
stage: .pre
|
|
allow_failure: false
|
|
extends: .terraform_validate
|
|
|
|
plan-development:
|
|
stage: plan
|
|
environment:
|
|
name: development
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: development
|
|
allow_failure: false
|
|
extends: .terraform_plan
|
|
needs: ["validate","format"]
|
|
|
|
plan-production:
|
|
stage: plan
|
|
environment:
|
|
name: production
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: production
|
|
allow_failure: false
|
|
extends: .terraform_plan
|
|
needs: ["validate","format"]
|
|
|
|
apply-development:
|
|
stage: apply
|
|
environment:
|
|
name: development
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: development
|
|
allow_failure: false
|
|
extends: .terraform_apply
|
|
rules:
|
|
- when: manual
|
|
|
|
apply-production:
|
|
stage: apply
|
|
environment:
|
|
name: production
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: production
|
|
allow_failure: false
|
|
extends: .terraform_apply
|
|
rules:
|
|
- when: manual
|
|
|
|
destroy-development:
|
|
stage: destroy
|
|
environment:
|
|
name: development
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: development
|
|
allow_failure: false
|
|
extends: .terraform_destroy
|
|
needs: ["apply-development"]
|
|
rules:
|
|
- when: manual
|
|
|
|
destroy-production:
|
|
stage: destroy
|
|
environment:
|
|
name: production
|
|
variables:
|
|
ARGUMENTS: -var-file=terraform.tfvars
|
|
ENVIRONMENT_NAME: production
|
|
allow_failure: false
|
|
extends: .terraform_destroy
|
|
needs: ["apply-production"]
|
|
rules:
|
|
- when: manual |