首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Capistrano 2拒绝cap deploy: cap deploy:setup成功?

为什么Capistrano 2拒绝cap deploy: cap deploy:setup成功?
EN

Stack Overflow用户
提问于 2010-12-24 00:40:57
回答 2查看 496关注 0票数 1

我正在尝试使用Capistrano (2.5.19)部署一个Rails3应用程序。我已经成功运行:

代码语言:javascript
复制
cap deploy:setup

并且在服务器上创建了正确的目录。但是,当我运行cap deploy:cold或cap deploy时,脚本在中途挂起。

代码语言:javascript
复制
    shell$ cap deploy:cold
  * executing `deploy:cold'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "git ls-remote git@server.foo.com:test.git master"
  * executing "git clone -q git@server.foo.com:test.git /home/deployer/www/apps/test/releases/20101223162936 && cd /home/deployer/www/apps/test/releases/20101223162936 && git checkout -q -b deploy be3165b74d52540742873c125fb85d04e1ee3063 && git submodule -q init && git submodule -q sync && git submodule -q update && (echo be3165b74d52540742873c125fb85d04e1ee3063 > /home/deployer/www/apps/test/releases/20101223162936/REVISION)"
    servers: ["server.foo.com"]
    [server.foo.com] executing command

这是我的deploy.rb:

代码语言:javascript
复制
$:.unshift(File.expand_path("~/.rvm/lib"))
    require 'rvm/capistrano'
    set :rvm_ruby_string, 'jruby'

    # main details
    set :application, "test_sqlserver"
    role :web, "server.foo.com"
    role :app, "server.foo.com"
    role :db,  "server.foo.com", :primary => true

    # server details
    default_run_options[:pty] = true
    ssh_options[:forward_agent] = true
    set :deploy_to, "/home/deployer/www/apps/#{application}"
    set :deploy_via, :checkout
    set :user, :deployer
    set :use_sudo, false

    # repo details
    set :scm, :git
    set :repository, "git@server.foo.com:test.git"
    set :branch, "master"
    set :git_enable_submodules, 1

我相信我的文件权限设置正确

EN

回答 2

Stack Overflow用户

发布于 2012-03-23 01:39:12

至少从1.6.5开始,JRuby中似乎存在一个错误--请参阅SSH Agent forwarding does not work with jRuby (which lets capistrano ssh-deployments fail)

显然,一种“解决办法”是不使用SSH代理转发,尽管这可能是不可接受的。如果你想让这个问题更快地被发现和修复(我知道我是这样做的),观察这个问题可能会有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-03-16 05:13:22

看起来你不能在jruby下运行Capistrano,因为jruby-openssl不支持Net:SSH

http://jruby-extras.rubyforge.org/jruby-openssl/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4520696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档