Commit 0faa5d4b authored by Dylan Griffith's avatar Dylan Griffith

Update Terraform/Base.latest.gitlab-ci.yml to inline cd TF_ROOT

At present this template appears to be designed to never interfere with
other jobs in your CI YML. This is true for all cases except the global
`before_script` which will cause other jobs in your `.gitlab-ci.yml` to
possibly end up in the wrong directory. This was specifically important
for a use case where a project was using terraform and ansible in
https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit . The
simplest solution appears to be to just inline the `cd ${TF_ROOT}`. We
also considered defining another hidden job that is extended by all the
other jobs here but the indirection didn't seem worth it for a single
step.
parent 2116bb0c
---
title: Make Terraform/Base.latest.gitlab-ci.yml template safer to use in projects that have non-terraform jobs
merge_request: 47254
author:
type: changed
......@@ -12,9 +12,6 @@
image:
name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest
before_script:
- cd ${TF_ROOT}
variables:
TF_ROOT: ${CI_PROJECT_DIR}
......@@ -26,16 +23,19 @@ cache:
.init: &init
stage: init
script:
- cd ${TF_ROOT}
- gitlab-terraform init
.validate: &validate
stage: validate
script:
- cd ${TF_ROOT}
- gitlab-terraform validate
.build: &build
stage: build
script:
- cd ${TF_ROOT}
- gitlab-terraform plan
- gitlab-terraform plan-json
artifacts:
......@@ -47,6 +47,7 @@ cache:
.deploy: &deploy
stage: deploy
script:
- cd ${TF_ROOT}
- gitlab-terraform apply
when: manual
only:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment