diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 09:08:42 +0000 |
commit | b76ae638462ab0f673e5915986070518dd3f9ad3 (patch) | |
tree | bdab0533383b52873be0ec0eb4d3c66598ff8b91 /lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml | |
parent | 434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff) | |
download | gitlab-ce-b76ae638462ab0f673e5915986070518dd3f9ad3.tar.gz |
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml')
-rw-r--r-- | lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml b/lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml new file mode 100644 index 00000000000..39c3374e534 --- /dev/null +++ b/lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml @@ -0,0 +1,64 @@ +# Terraform/Base.latest +# +# The purpose of this template is to provide flexibility to the user so +# they are able to only include the jobs that they find interesting. +# +# Therefore, this template is not supposed to run any jobs. The idea is to only +# create hidden jobs. See: https://docs.gitlab.com/ee/ci/yaml/#hide-jobs +# +# There is a more opinionated template which we suggest the users to abide, +# which is the lib/gitlab/ci/templates/Terraform.latest.gitlab-ci.yml + +image: + name: registry.gitlab.com/gitlab-org/terraform-images/releases/terraform:1.0.3 + +variables: + TF_ROOT: ${CI_PROJECT_DIR} # The relative path to the root directory of the Terraform project + TF_STATE_NAME: ${TF_STATE_NAME:-default} # The name of the state file used by the GitLab Managed Terraform state backend + +cache: + key: "${TF_ROOT}" + paths: + - ${TF_ROOT}/.terraform/ + - ${TF_ROOT}/.terraform.lock.hcl + +.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: + paths: + - ${TF_ROOT}/plan.cache + reports: + terraform: ${TF_ROOT}/plan.json + +.deploy: &deploy + stage: deploy + script: + - cd ${TF_ROOT} + - gitlab-terraform apply + when: manual + only: + variables: + - $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + +.destroy: &destroy + stage: cleanup + script: + - cd ${TF_ROOT} + - gitlab-terraform destroy + when: manual |