0

Capistrno を使用して Rails 3 プロジェクトを linode VDS にデプロイする際に問題が発生しました。エラーは次のようになります。

lifecoder@lifecoder-VirtualBox:~/projects/ruby/avtolife$ cap deploy:update
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    updating the cached checkout on all servers
    executing locally: "git ls-remote git@bitbucket.org:lifecoder/avtolife.git master"
    command finished in 2964ms
  * executing "if [ -d /srv/avtolife/shared/cached-copy ]; then cd /srv/avtolife/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard aec5c7f44151ca74d8eb384c478d6707719ee680 && git clean -q -d -x -f; else git clone -q git@bitbucket.org:lifecoder/avtolife.git /srv/avtolife/shared/cached-copy && cd /srv/avtolife/shared/cached-copy && git checkout -q -b deploy aec5c7f44151ca74d8eb384c478d6707719ee680; fi"
    servers: ["original-parts.net"]
    [lifecoder@original-parts.net] executing command
 ** [original-parts.net :: err] Host key verification failed.
 ** [original-parts.net :: err] fatal: The remote end hung up unexpectedly
    command finished in 1401ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /srv/avtolife/releases/20120620203352; true"
    servers: ["original-parts.net"]
    [lifecoder@original-parts.net] executing command
    command finished in 588ms
    failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2' -c 'if [ -d /srv/avtolife/shared/cached-copy ]; then cd /srv/avtolife/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard aec5c7f44151ca74d8eb384c478d6707719ee680 && git clean -q -d -x -f; else git clone -q git@bitbucket.org:lifecoder/avtolife.git /srv/avtolife/shared/cached-copy && cd /srv/avtolife/shared/cached-copy && git checkout -q -b deploy aec5c7f44151ca74d8eb384c478d6707719ee680; fi'" on lifecoder@original-parts.net

特定のエラーが発生した場所を追跡する方法についてのアイデアが必要です。私は *nix と rails にかなり慣れていないので、構成の一部が魔法のように見えます :(

4

1 に答える 1

0

Capistrano のデプロイで問題が発生した場合は、リモート サーバーでシナリオ コマンドを 1 つずつ実行します。私の問題はターゲットサーバーにありました-ローカルUbuntuはリモートIPアドレスの受け入れを要求し、capスクリプトからの応答がない場合は終了します。承認後、同じスクリプトが正常に実行されます。

于 2012-07-25T11:00:32.617 に答える