【问题标题】:cap deploy:setup hangs?帽部署:安装挂起?
【发布时间】:2012-03-15 23:44:27
【问题描述】:

我已经在服务器端设置了一个空的 git repo,一切都设置好了。

Cap deploy:setup 会这样做

    [109.etc] env RAILS_ENV=production sh -c 'git clone git@109.etc:srv/paintings.git /srv/paintings/current'
 ** [out :: 109.etc] Initialized empty Git repository in /srv/paintings/current/.git/
 ** [out :: 109.etc] The authenticity of host '109.etc (109.etc)' can't be established.
 ** [out :: 109.etc] RSA key fingerprint is e9:af:d6:d3:0e:f5:de:a3:4a:31:6e:8e:4a:c7:b7:ee.
 ** [out :: 109.etc] Are you sure you want to continue connecting (yes/no)?

*当我输入 yes 或 y 时,它只是“挂起”,似乎什么都没有发生...... * 在 cap deploy:setup 之后已经尝试过 --debug 有什么问题?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 deployment cap


    【解决方案1】:

    Capistrano 本质上是非交互式的;如果弹出这样的提示,不幸的是,您不能只告诉它“是”,因为您输入的命令不会发送到远程主机。您必须手动执行“是”。

    要解决此问题,请将主机的密钥添加到该用户的 known_hosts 文件中。因此,通过 SSH 连接到正在执行部署的任何机器,su 连接到该用户,然后尝试 SSH 连接到 109.etc。您将收到相同的警告提示,并且可以在其中输入“是”,这一次它会起作用。之后,cap deploy照常,您将不会再收到此消息。

    【讨论】:

    • 按建议添加,但 cap deploy:setup 上的问题仍然存在,我现在可以在没有密码提示的情况下执行 ssh root@myhost。主机的真实性不能......但仍然存在:(
    • 你是从那台机器的root用户部署的吗?您必须从实际执行部署的任何用户通过 SSH 连接到 109.etc
    • 已修复我的 /etc/hosts 中有主机并使用别名而不是 Ip 现在我有新错误 --deployment 标志需要 Gemfile.lock。请确保在部署之前您已将 Gemfile.lock 签入版本控制。我检查了你的答案,因为我已经接受了 3 天的帮助。
    猜你喜欢
    • 2020-10-06
    • 2022-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2014-07-21
    相关资源
    最近更新 更多