无法运行Jenkins Build – bundle:“找不到命令”
我目前正在尝试为我的一些黄瓜任务运行jenkins构建。 我所有的gem都是使用Bundler安装的。 gem存储在vendor文件夹中。
但是,当我尝试在执行shell构建步骤中运行bundle install --deployment
时,我收到以下错误:
Started by user anonymous Building in workspace /Users/Shared/Jenkins/Home/jobs/cukes/workspace [workspace] $ /bin/sh -xe/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh + bundle install --deployment /var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh: line 2: bundle: command not found Build step 'Execute shell' marked build as failure Finished: FAILURE
这真让我抓狂! 它在我的本地机器上运行没有问题。 jenkins为什么看不到我的gem?
任何帮助都会很棒!
干杯,乔恩
根据您安装Jenkins的方式,它可能作为单独的用户运行,通常作为用户jenkins
。 如果您已将bundle
安装到非标准目录(不在默认路径中),例如/usr/local/bin
,则需要:
- 将
/usr/local/bin
添加到jenkins用户的PATH(检查~jenkins / .bashrc)或 - 在Jenkins全局配置中配置PATH环境变量(如果在从站上构建,则配置从属配置)或
- 修改构建脚本以使用完整路径名引用
bundle
。
如果bundle安装在/usr/local/bin/bundle
(确定使用which bundle
)你可以添加一个符号链接到/usr/bin
bundle,如下所示:
ln -s /usr/local/bin/bundle /usr/bin/bundle
要validation的第一件事:
- 确保在Jenkins运行的机器上安装了
bundle
。 - 如果已安装,请确保它位于Jenkins运行的用户的路径上
(validation路径/环境:插入运行env
shell构建步骤)
您可以通过运行which bundle
并从那里运行bundle
命令来查看bundle
的安装位置