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 @@ ...@@ -12,9 +12,6 @@
image: image:
name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest name: registry.gitlab.com/gitlab-org/terraform-images/stable:latest
before_script:
- cd ${TF_ROOT}
variables: variables:
TF_ROOT: ${CI_PROJECT_DIR} TF_ROOT: ${CI_PROJECT_DIR}
...@@ -26,16 +23,19 @@ cache: ...@@ -26,16 +23,19 @@ cache:
.init: &init .init: &init
stage: init stage: init
script: script:
- cd ${TF_ROOT}
- gitlab-terraform init - gitlab-terraform init
.validate: &validate .validate: &validate
stage: validate stage: validate
script: script:
- cd ${TF_ROOT}
- gitlab-terraform validate - gitlab-terraform validate
.build: &build .build: &build
stage: build stage: build
script: script:
- cd ${TF_ROOT}
- gitlab-terraform plan - gitlab-terraform plan
- gitlab-terraform plan-json - gitlab-terraform plan-json
artifacts: artifacts:
...@@ -47,6 +47,7 @@ cache: ...@@ -47,6 +47,7 @@ cache:
.deploy: &deploy .deploy: &deploy
stage: deploy stage: deploy
script: script:
- cd ${TF_ROOT}
- gitlab-terraform apply - gitlab-terraform apply
when: manual when: manual
only: 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