6

capistranoを使用してデプロイするために使用する本番Rails3.2.3アプリケーションがあります。Railsを3.2.11にアップグレードすることにしたとき、次の手順を実行しました。

  1. GemfileのRailsバージョンを変更しました
  2. 「バンドル更新レール」を実行する
  3. ベンダー/キャッシュ、GemfileおよびGemfile.lockから新しいgemをプッシュしました
  4. 「capproductiondeploy」を実行します

Capistranoはエラーで失敗するようになりました:

  * 2013-01-11 15:58:25 executing `deploy:assets:precompile'
    triggering before callbacks for `deploy:assets:precompile'
  * 2013-01-11 15:58:25 executing `deploy:assets:update_asset_mtimes'
  * executing "[ -e /home/deploy/projects/otv/shared/assets/manifest.yml ] && cat /home/deploy/projects/otv/shared/assets/manifest.yml || echo"
    servers: ["xxx.xxx.99.51"]
    [xxx.xxx.99.51] executing command
    command finished in 28ms
  * executing "cd -- /home/deploy/projects/otv/releases/20130111095812 && export LANG=en_US.UTF-8 && /usr/local/bin/bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile && cp -- /home/deploy/projects/otv/shared/assets/manifest.yml /home/deploy/projects/otv/releases/20130111095812/assets_manifest.yml"
    servers: ["xxx.xxx.99.51"]
    [xxx.xxx.99.51] executing command
 ** [out :: xxx.xxx.99.51] cp: cannot stat ‘/home/deploy/projects/otv/shared/assets/manifest.yml’: No such file or directory
    command finished in 18773ms

以前はcapistranoで正常にデプロイされていた他のプロジェクトでこれらの手順を実行しようとしましたが、同じ結果になりました。

私のGemfileとdeploy.rb

4

3 に答える 3

4

FWIW、Capistranoを> 2.14.0に更新した後、これを取得していました。

*** [err :: ourapp.net] cp: cannot stat `/home/deploy/www/ourapp/shared/assets/manifest.yml'
*** [err :: ourapp.net] : No such file or directory

アセットを共有ディレクトリにシンボリックリンクすることで修正できると思いますが、いじくり回す代わりに(このデプロイを削除する必要があります)、キャップを2.13.5にダウングレードしました。

于 2013-01-15T21:19:24.300 に答える
1

私も同じ問題を抱えていました。

新しいバージョンのcapistranoには、共有アセットパスのシンボリックリンクを処理するためのコードが含まれるようになりました。これを処理するためのconfig/deploy.rbコードがいくつかあり、パスが互いに競合していました。問題を解決するために、この行を削除しました。

run "ln -nfs #{shared_path}/public/assets #{release_path}/public/assets"
于 2013-01-11T19:38:18.757 に答える
0

アップグレードする前に、離れたサーバー上のすべての資産を削除しましたか?

時々、いくつかの古い参照がその種の問題を引き起こす可能性があります

乾杯、ジェレミー

于 2013-01-11T16:25:33.860 に答える