Терраформирование завершается неудачно без какого-либо сообщения об ошибке

# #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 будет выходить с ненулевым статусом выхода, когда он обнаружит, что файлы необходимо отформатировать.