ci-includes-yml/pipelines/terraform.yml

93 lines
1.7 KiB
YAML
Raw Normal View History

stages:
- plan
- apply
- destroy
variables:
WORKDIR: $CI_PROJECT_DIR/terraform
GITLAB_TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${ENVIRONMENT_NAME}
image:
2024-06-29 07:42:06 -05:00
name: registry.internal.durp.info/opentofu/opentofu:latest
entrypoint: [""]
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
2023-08-06 21:50:01 +00:00
plan-development:
stage: plan
2023-08-06 21:58:03 +00:00
environment:
name: development
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: dev
allow_failure: false
extends: .terraform_plan
needs: ["validate","format"]
2023-08-06 21:50:01 +00:00
plan-production:
stage: plan
2023-08-06 21:58:03 +00:00
environment:
name: production
2023-08-06 21:50:01 +00:00
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: prd
2023-08-06 21:50:01 +00:00
allow_failure: false
extends: .terraform_plan
needs: ["validate","format"]
apply-development:
stage: apply
2023-08-06 21:58:03 +00:00
environment:
name: development
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: dev
allow_failure: false
extends: .terraform_apply
rules:
2023-08-06 21:50:01 +00:00
- when: manual
apply-production:
stage: apply
2023-08-06 21:58:03 +00:00
environment:
name: production
2023-08-06 21:50:01 +00:00
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: prd
2023-08-06 21:50:01 +00:00
allow_failure: false
extends: .terraform_apply
rules:
- when: manual
destroy-development:
stage: destroy
2023-08-06 21:58:03 +00:00
environment:
name: development
2023-08-06 21:50:01 +00:00
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: dev
2023-08-06 21:50:01 +00:00
allow_failure: false
extends: .terraform_destroy
rules:
- when: manual
2023-08-06 21:50:01 +00:00
destroy-production:
stage: destroy
2023-08-06 21:58:03 +00:00
environment:
name: production
variables:
2024-06-29 08:51:22 -05:00
ENVIRONMENT_NAME: prd
allow_failure: false
extends: .terraform_destroy
rules:
2024-05-11 07:12:02 -05:00
- when: manual