2014-04-08 45 views
0

我試圖執行Capistrano的通過詹金斯部署和運行到下面的生成錯誤:我的Capistrano配置出了什麼問題?

  • cd ~/Sites/MyProject
  • ~/.rvm/gems/ruby-2.0.0-p0/bin/cap production deploy

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in 'report_activate_error': Could not find RubyGem capistrano (>= 0) (Gem::LoadError)

from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:211:in 'activate'

from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in 'gem'

from ~/.rvm/gems/ruby-2.0.0-p0/bin/cap:22

from ~/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14

Build step 'Execute shell' marked build as failure

有一些非常可疑的約從2.0紅寶石切換到Ruby 1.8有,但我不知道幾乎足以讓Ruby知道從哪裏開始尋找......任何想法?

cap production deploy當然從命令行工作。

+0

你能看到,如果你有安裝在ruby- Capistrano的寶石2.0.0。可能會運行bundle exec cap production deploy – user944938

+0

看起來像我一樣(對於像我這樣的Ruby新手來說) - 當然有一個gems/ruby​​-2.0.0-p0/gems/capistrano-3.1.0文件夾。我會在哪裏嘗試運行bundle exec命令? – thesunneversets

+1

看起來,你運行jenkins從一個不同的用戶比你想象的 - 試試這個:http://stackoverflow.com/questions/10209242/rvm-and-jenkins-setup –

回答

0

我能得到通過添加以下到我的「執行shell命令」說明詹金斯與紅寶石的正確版本的工作:

#!/usr/bin/env bash 

cd ~/Sites/MyProject 
source $(rvm env 2.0.0 --path) 
cap production deploy