我目前正在尝试为我的一些黄瓜任务运行jenkins构建。我所有的宝石都是使用Bundler安装的。宝石存储在供应商文件夹中。
但是,当我尝试在执行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
这让我抓狂!它在我的本地机器上运行没有问题。詹金斯为什么看不到我的宝石?
任何帮助都会很棒!
干杯, 乔恩
答案 0 :(得分:11)
根据您安装Jenkins的方式,它可能作为单独的用户运行,通常以用户jenkins
身份运行。如果您已将bundle
安装到非标准目录中,而非/usr/local/bin
,则需要:
/usr/local/bin
添加到jenkins用户的PATH(检查~jenkins / .bashrc)或bundle
。答案 1 :(得分:3)
如果在/usr/local/bin/bundle
中安装了捆绑包(请使用which bundle
确定),您只需在/usr/bin
中添加符号链接即可,如下所示:
ln -s /usr/local/bin/bundle /usr/bin/bundle
答案 2 :(得分:2)
要验证的第一件事:
bundle
。(验证路径/环境:插入运行env
的shell构建步骤)
答案 3 :(得分:1)
对我来说,我最初是通过war文件安装它的,因为这是Getting Started Guide上建议的方式。但是,用户手册更加清楚地表明,install Jenkins可能有更好的方法。
我最终通过以下方式在macOS上卸载了Jenkins的WAR文件:
然后我reinstalled via home-brew和bundle
开始工作。
答案 4 :(得分:1)
就我而言,我将此行添加到脚本的第一行:
#!/bin/bash -l
答案 5 :(得分:0)
您可以通过运行bundle
并从那里运行which bundle
命令来查看安装bundle
的位置