Presets / Terraform plan + apply
preset Infra

Terraform plan + apply

gitlab-ci  ·  Infra

Pipeline Terraform avec plan automatique et apply manuel sur main.

terraform iac infra
image:
  name: hashicorp/terraform:1.9
  entrypoint: [""]

stages:
  - validate
  - plan
  - apply

variables:
  TF_ROOT: ${CI_PROJECT_DIR}
  TF_IN_AUTOMATION: "true"

cache:
  key: tf-${CI_COMMIT_REF_SLUG}
  paths:
    - .terraform/

before_script:
  - cd "$TF_ROOT"
  - terraform init

validate:
  stage: validate
  script:
    - terraform fmt -check -recursive
    - terraform validate

plan:
  stage: plan
  script:
    - terraform plan -out=plan.tfplan
  artifacts:
    paths:
      - plan.tfplan

apply:
  stage: apply
  script:
    - terraform apply -input=false plan.tfplan
  when: manual
  only:
    - main