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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了詹金斯“找不到捆绑命令”相关的知识,希望对你有一定的参考价值。

我有一个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'''
  }
}

但这似乎不对。

答案

试试这个

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

请确保.rbenv的路径正确无误

以上是关于詹金斯“找不到捆绑命令”的主要内容,如果未能解决你的问题,请参考以下文章

如何从詹金斯访问maven属性?

詹金斯“无法安装 JDK”退出代码=-1

詹金斯自动化

詹金斯 Maven 构建 137 错误

詹金斯没有在分支创建/删除上开始新的构建

詹金斯全局变量