【发布时间】:2014-04-08 17:23:26
【问题描述】:
我正在尝试通过 Jenkins 执行 Capistrano 部署并遇到以下构建错误:
- cd ~/Sites/MyProject
- ~/.rvm/gems/ruby-2.0.0-p0/bin/cap 生产部署
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in 'report_activate_error': 找不到 RubyGem capistrano (>= 0) (Gem::LoadError)
来自 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in '激活'
来自 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in '宝石'
来自 ~/.rvm/gems/ruby-2.0.0-p0/bin/cap:22
来自 ~/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14
构建步骤“执行 shell”将构建标记为失败
从 Ruby 2.0 到 Ruby 1.8 的转换看起来很可疑,但我对 Ruby 的了解还不够,不知道从哪里开始寻找……有什么想法吗?
cap production deploy 当然可以在命令行中正常工作。
【问题讨论】:
-
你能看看你是否在 ruby-2.0.0 中安装了 capistrano gem。可以运行 bundle exec cap production deploy
-
它看起来像我这样做(无论如何对像我这样的 Ruby 新手来说)——当然有一个 gems/ruby-2.0.0-p0/gems/capistrano-3.1.0 文件夹。我应该在哪里尝试运行 bundle exec 命令?
-
看来您运行 jenkins 的用户与您想象的不同 - 试试这个:stackoverflow.com/questions/10209242/rvm-and-jenkins-setup
-
您可以从项目根文件夹运行 bundle exec。
-
嗯,从我运行
cap production deploy的同一个地方我无法运行 bundle exec,没有 Gemfile。也许这表明我错过了我应该拥有的 Gemfile,我不知道?
标签: ruby jenkins capistrano