无法运行Jenkins Build - bundle:“找不到命令”

时间:2012-04-28 17:20:35

标签: ruby cucumber jenkins bundler

我目前正在尝试为我的一些黄瓜任务运行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

这让我抓狂!它在我的本地机器上运行没有问题。詹金斯为什么看不到我的宝石?

任何帮助都会很棒!

干杯, 乔恩

6 个答案:

答案 0 :(得分:11)

根据您安装Jenkins的方式,它可能作为单独的用户运行,通常以用户jenkins身份运行。如果您已将bundle安装到非标准目录中,而非/usr/local/bin,则需要:

  • /usr/local/bin添加到jenkins用户的PATH(检查~jenkins / .bashrc)或
  • 在Jenkins全局配置中配置PATH环境变量(如果在从站上构建,则配置从属配置)或
  • 修改构建脚本以使用完整路径名称引用bundle

答案 1 :(得分:3)

如果在/usr/local/bin/bundle中安装了捆绑包(请使用which bundle确定),您只需在/usr/bin中添加符号链接即可,如下所示:

ln -s /usr/local/bin/bundle /usr/bin/bundle

答案 2 :(得分:2)

要验证的第一件事:

  • 确保Jenkins运行的计算机上安装了bundle
  • 如果已安装,请确保它位于Jenkins运行的用户的路径上

(验证路径/环境:插入运行env的shell构建步骤)

答案 3 :(得分:1)

对我来说,我最初是通过war文件安装它的,因为这是Getting Started Guide上建议的方式。但是,用户手册更加清楚地表明,install Jenkins可能有更好的方法。

我最终通过以下方式在macOS上卸载了Jenkins的WAR文件:

  1. 删除.war文件。
  2. 删除〜/ .jenkins目录。

然后我reinstalled via home-brewbundle开始工作。

答案 4 :(得分:1)

就我而言,我将此行添加到脚本的第一行:

#!/bin/bash -l

答案 5 :(得分:0)

您可以通过运行bundle并从那里运行which bundle命令来查看安装bundle的位置