我正试图在詹金斯进行一次terraform测试。 这就是我所做的:
已安装的terraform插件
在全局工具中添加了一个terraform安装
添加了自由式项目。
在构建环境中,我添加了terraform
在构建中,我使用以下命令添加了“execute shell”:pwd,ls -la,terraform init
每当我尝试运行此构建时,我都会得到以下内容:
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
我知道它没有看到地形,但我怎么能看到它呢?我正在使用github repo作为源代码。我想为每个terraform命令做一个步骤:init,plan和apply。我怎么能实现这一点是詹金斯?我找不到任何解释这一点的教程。 感谢。
答案 0 :(得分:4)
在构建环境中,您需要找出安装了terraform的位置并确保它在路径上。如果不是,则需要将目录添加到Jenkins上的代理路径。