我有一个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'''
}
}
但这似乎不对。
答案 0 :(得分:2)
试试这个
node {
stage 'Bundle Build'
withEnv([
"PATH=$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH",
"RBENV_SHELL=sh"
]) {
sh '''bundle'''
}
请确保.rbenv
的路径正确