0

展開には Capistrano v2.13.4 を使用しています。

前の Capistrano タスク ( deploy:special_treats)deploy:finalize_updateは実行されません。

タスクdeploy:special_treatsは の準備 (インターネット アクセスのセットアップ) を行いbundle:installます。そうしないと、インターネットbundle:installにアクセスできなくなります ([out :: servername] Could not reach https://rubygems.org/

config/deploy.rb

before 'deploy:finalize_update', 'deploy:special_treats'

namespace :deploy do
  task :special_treats do
    run "echo 'something special treats: setup the Internet access'"
  end
end

の結果cap deploy:update

$ cap deploy:update
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    executing locally: "svn info https://svnlinks --username username --password password --no-auth-cache  -rHEAD"
    command finished in 10336ms
  * getting (via export) revision 33268 to /tmp/20120927171608
    executing locally: svn export -q --username username --password password --no-auth-cache  -r33268 https://svnlinks /tmp/20120927171608
    command finished in 79314ms
  * processing exclusions...
  * Compressing /tmp/20120927171608 to /tmp/20120927171608.tar.gz
    executing locally: tar czf 20120927171608.tar.gz 20120927171608
    command finished in 1401ms
    servers: ["servername"]
 ** sftp upload /tmp/20120927171608.tar.gz -> /tmp/20120927171608.tar.gz
    [servername] /tmp/20120927171608.tar.gz
    [servername] done
  * sftp upload complete
  * executing "cd /usr/website/rr/releases && tar xzf /tmp/20120927171608.tar.gz && rm /tmp/20120927171608.tar.gz"
    servers: ["servername"]
    [servername] executing command
    command finished in 774ms
  * executing `deploy:finalize_update'
    triggering before callbacks for `deploy:finalize_update'
  * executing `bundle:install'
  * executing "cd /usr/website/rr/releases/20120927171608 && bundle install --gemfile /usr/website/rr/releases/20120927171608/Gemfile --path /usr/website/rr/shared/bundle --deployment --quiet --without development 

test"
    servers: ["servername"]
    [servername] executing command
 ** [out :: servername] Could not reach https://rubygems.org/
    command finished in 1403ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /usr/website/rr/releases/20120927171608; true"
    servers: ["servername"]
    [servername] executing command
    command finished in 344ms
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3-p194' -c 'cd /usr/website/rr/releases/20120927171608 && bundle install --gemfile /usr/website/rr/releases/20120927171608/Gemfile --path 

/usr/website/rr/shared/bundle --deployment --quiet --without development test'" on servername
4

1 に答える 1

0

私はちょうど同じ問題を抱えていましたが、after deploy:finalize_updateトリガーにありました。違いは、私のスクリプトが別のマシンで長時間動作することです。

でカピストラーノをgemとしてロックしていないGemfileので、動作中のマシンの同じバージョンに戻そうとしまし2.6.0たが、修正されませんでした。

いくつかの調査といくつかの試行の後、私は github プロジェクトでこのような問題につながるいくつかの問題を発見しましが、人々はそれを完全に再現できないようです.

その後、ドキュメントにアクセスしてブラウジングしたところ、Capistrano の動作が0.9.x、名前空間の競合に関係する rake のバージョンの最近の変更によって影響を受けていることがわかりました。Capistrano Tasks wiki ページの create_symlink セクション

rake と capistrano の両方の最新バージョンで動作するようにスクリプトを修正する時間はありませんでしたが、 rake を version に戻すことで、別のマシンで動作するように戻すことができました0.8.7

これがあなたを動かし、解決へのいくつかの手がかりを提供できることを願っています.

于 2012-09-28T06:11:27.103 に答える