Исполняемый файл Terraform не обнаружен агентом teamcity - PullRequest
0 голосов
/ 07 февраля 2020

Я пишу конвейер teamcity, в котором я использую terraform для раскрутки некоторых AWS экземпляров. Мой конвейер использует docker для вызова всех шагов один за другим

Тем не менее, terraform init продолжает работать с terraform: Ошибка команды не найдена

[11:05:00][Step 2/6] Initialising terraform
[11:05:00][Step 2/6] terraform init
[11:05:00][Step 2/6] Makefile:41: recipe for target 'terraformApply' failed
[11:05:00][Step 2/6] make: terraform: Command not found

Вот фрагмент кода terraformApply моего Makefile

    @echo Download terraform
    # ${CURDIR}
    wget https://releases.hashicorp.com/terraform/0.12.20/terraform_0.12.20_linux_amd64.zip
    unzip -o terraform_0.12.20_linux_amd64.zip
    @echo Terraform downloaded
    # @echo Current Directory
    # ${CURDIR}
    sleep 60
    @echo *
    @echo Initialising terraform
    terraform init
    ## sudo terraform/terraform plan
    @echo Terraform initialised
    TF_VAR_AWS_ACCESS_KEY="****" TF_VAR_AWS_SECRET_KEY="****" terraform apply -auto-approve
    @echo Terraform setup done

Мой конвейер работает на linux агенте.

Я запустил этот Makefile напрямую на машине linux, которая отлично работает. Однако на трубопроводе teamcity он не может найти извлеченную терраформу. Кроме того, я использовал echo * в Makefile для перечисления всех файлов, присутствующих в каталоге, и я вижу, что terraform присутствует в том же пути.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 07 февраля 2020
Системы на основе

Linux по умолчанию не ищут двоичные файлы в текущем рабочем каталоге. После того, как вы извлекли terraform, вам нужно назвать его как ./terraform init.

...