【问题标题】:What's gone wrong with my Capistrano configuration?我的 Capistrano 配置出了什么问题?
【发布时间】: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


【解决方案1】:

通过将以下内容添加到我的“执行 shell 命令”说明中,我能够让 Jenkins 使用正确版本的 Ruby:

#!/usr/bin/env bash

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

【讨论】:

    猜你喜欢
    • 2011-04-12
    • 2016-02-08
    • 2013-11-16
    • 2011-10-30
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多