本地执行命令运行正常, 但 jenkins 下 fir publish 报错
/usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:284:in find_spec_for_exe': can't find gem fir-cli (>= 0.a) with executable fir (Gem::GemNotFoundException) from /usr/local/rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb:303:in activate_bin_path'
from /usr/local/rvm/gems/ruby-2.6.5/bin/fir:23:in <main>' from /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in eval'
from /usr/local/rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `
本地执行命令正常,在jenkins中执行此命令会报上述异常
大概率环境变量有问题.
你可以重新配置你的环境变量, 并确保脚本前面使用的是 #!/bin/bash -l 来开启一个 login shell
如果你不会配置的话 请在 jenkins plugin 中搜索 rvm plugin 之后在插件中匹配 你在 rvm 中安装的 ruby 版本 2.6.5
请问下你这个问题解决了吗? @louis2610
请问下你这个问题解决了吗? @louis2610
http://blog.betaqr.com/use-fir-cli-in-jenkins/
tips 这种问题 绝大多数 都是因为 jenkins 脚本的首行 没有加
#!/bin/bash --login
导致的
建议调试的时候这么执行
#!/bin/bash --login
rvm list # 确保 rvm 正确安装
ruby -v # 查看 ruby 的版本, 请确保大于 2.4.0
gem install fir-cli # 现场安装fir-cli , 如果安装过, 则会略过
fir -v # 查看 fir-cli 的版本
# 在这里执行 fir publish xxxxx
在shell的第一行加入这个试试
#!/bin/bash --login