17

我目前正在尝试为我的一些黄瓜任务运行 jenkins 构建。我所有的 gem 都是使用 Bundler 安装的。宝石存储在供应商文件夹中。

但是,当我尝试bundle install --deployment在执行 shell 构建步骤中运行时,出现以下错误:

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

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

任何帮助都会很棒!

干杯,乔恩

4

6 回答 6

15

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

#!/bin/bash -l
于 2019-05-08T06:20:51.123 回答
12

根据您安装 Jenkins 的方式,它可能会以单独的用户身份运行,通常以 user 身份运行jenkins。如果您已安装bundle到不在默认 PATH 中的非标准目录,例如/usr/local/bin,您需要:

  • 添加/usr/local/bin到 jenkins 用户的 PATH(检查 ~jenkins/.bashrc)或
  • 在 Jenkins 全局配置中配置 PATH 环境变量(或从属配置,如果在从属上构建)或
  • 修改构建脚本以引用bundle使用完整路径名。
于 2012-05-01T18:05:11.983 回答
3

如果 bundle 安装在/usr/local/bin/bundle(用 确定which bundle)你可以像这样添加一个符号链接到 bundle in /usr/bin

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

于 2016-08-25T13:59:57.010 回答
2

首先要验证的内容:

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

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

于 2012-04-28T19:18:00.373 回答
1

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

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

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

然后我通过 home-brew 重新安装,并bundle开始工作。

于 2018-11-11T06:36:24.010 回答
0

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

于 2017-03-26T02:43:17.540 回答