2

サーバー側で空のgitリポジトリをベアでセットアップし、すべてをセットアップしています。

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 を試しました。

4

1 に答える 1

2

Capistrano は本質的に非インタラクティブです。このようなプロンプトが表示された場合、入力したコマンドがリモート ホストに送信されないため、残念ながら「はい」とは言えません。「はい」を手動で行う必要があります。

この問題を回避するには、ホストのキーをそのユーザーの known_hosts ファイルに追加します。そのため、デプロイを行っているマシンに SSH で接続し、そのユーザーに su して、109.etc. 同じ警告プロンプトが表示され、「はい」と入力できるようになり、今回は機能します。その後、cap deploy通常どおり、このメッセージは表示されなくなります。

于 2012-03-15T15:44:27.150 に答える