# #gitlab #terraform #gitlab-ci
Вопрос:
Я пытаюсь выполнить команды Terraform из GitLab, но я не могу выполнить это успешно.
Ниже приведено содержимое моего .gitlab-ci.yml
файла:
plan:k8stest:
image:
name: hashicorp/terraform:latest
stage: plan
environment:
name: k8s-test
before_script:
- terraform version
script:
- cd ${TF_ROOT}
- terraform fmt -check -recursive
- terraform init
- terraform validate
- terraform plan
Он выполняет 'terraform fmt'
команду, но после этого выходит без какого-либо сообщения об ошибке
Executing "step_script" stage of the job script
00:01
$ terraform version
Terraform v1.0.2
on linux_amd64
$ cd ${TF_ROOT}
$ terraform fmt -check -recursive
backend.tf
service.tf
terraform.tfvars
Uploading artifacts for failed job
00:01
Uploading artifacts...
WARNING: /builds/SathishKumar/ultestdevops/terraform/plan.json: no matching files
ERROR: No files to upload
Пожалуйста, дайте мне знать, что я делаю не так и почему terraform init
меня не казнили.
Ответ №1:
Ваша terraform fmt -check -recursive
команда показывает , что она хочет отформатировать backend.tf
, service.tf
и terraform.tfvars
.
При работе в -check
режиме, terraform fmt
будет выходить с ненулевым статусом выхода, когда он обнаружит, что файлы необходимо отформатировать.