无法 运行 在 Jenkins 中进行 Terraform 测试

Cannot run Terraform tests in Jenkins

我正在尝试 运行 在 Jenkins 中进行 terraform 测试。 这是我所做的:

每当我尝试 运行 这个构建时,我都会得到以下信息:

Building in workspace /Users/david.bien/.jenkins/workspace/terraform


> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/killabien/terra.git # timeout=10
Fetching upstream changes from https://github.com/killabien/terra.git
 > git --version # timeout=10
 > git fetch --tags --progress https://github.com/killabien/terra.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision d1be254f44ab29acd0a5eb6cab06db0e78b21ff5 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f d1be254f44ab29acd0a5eb6cab06db0e78b21ff5
Commit message: "removed jenkins file"
 > git rev-list --no-walk d1be254f44ab29acd0a5eb6cab06db0e78b21ff5 # timeout=10
[terraform-plugin] $ /Users/david.bien/.jenkins/tools/org.jenkinsci.plugins.terraform.TerraformInstallation/terraform/terraform get
[terraform] $ /bin/sh -xe /var/folders/71/nc43yr_d4gj3z96vsnhf6xrc0000gn/T/jenkins7852414313721362731.sh
+ pwd
/Users/david.bien/.jenkins/workspace/terraform
+ ls -la
total 8
drwxr-xr-x   7 david.bien  staff  238 Apr  6 12:53 .
drwxr-xr-x   5 david.bien  staff  170 Apr  6 12:50 ..
drwxr-xr-x  12 david.bien  staff  408 Apr  6 13:05 .git
drwxr-xr-x   4 david.bien  staff  136 Apr  6 12:50 .terraform
-rw-r--r--   1 david.bien  staff  242 Apr  6 12:50 main.tf
drwxr-xr-x   4 david.bien  staff  136 Apr  6 12:50 modules
drwxr-xr-x   5 david.bien  staff  170 Apr  6 13:05 terraform-plugin
+ terraform init
/var/folders/71/nc43yr_d4gj3z96vsnhf6xrc0000gn/T/jenkins7852414313721362731.sh: line 4: terraform: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我知道它看不到 terraform,但我还能如何让它看到它?我正在使用 github 源代码库。我想为每个 terraform 命令做一个步骤:init、plan 和 apply。我怎样才能做到这一点是詹金斯?我找不到任何解释这一点的教程。 谢谢

在您的构建环境中,您需要找出 terraform 的安装位置并确保它在路径上。如果不是,您需要将目录添加到 Jenkins 上的代理路径。