詹金斯“找不到捆绑命令”

时间:2016-11-10 09:54:43

标签: ruby jenkins groovy

我有一个Groovy脚本,它在Jenkins管道中运行一个作业,但在尝试运行bundle时失败了。我收到了错误

bundle: command not found

我以为我在构建过程中包含了PATH变量,但似乎并非如此

node {
  stage 'Bundle Build'
  withEnv(['PATH=/usr/bin:/bin:/usr/sbin:/:sbin/usr/local/bin:$PATH']) {
    sh '''bundle'''
  }
}

当我运行which bundle时,我得到/Users/Jenkins/.rvm/gems/ruby/bin/bundle,但我的版本在/Users/Jenkins/.jenkins下运行。

如何在建立工作时使用捆绑包?

更新

如果我运行它,那么它可以运行

node {
  stage 'Bundle Build'
  withEnv(['PATH=/usr/bin:/bin:/usr/sbin:/:sbin/usr/local/bin:$PATH']) {
    sh '''#!/bin bash -l
          bundle'''
  }
}

但这似乎不对。

1 个答案:

答案 0 :(得分:2)

试试这个

node {
  stage 'Bundle Build'
  withEnv([
      "PATH=$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH",
      "RBENV_SHELL=sh"
      ]) {
    sh '''bundle'''
 }

请确保.rbenv的路径正确