0

AWSでt1.microインスタンスを設定しました。RAILS_ENV=staging rubber:create_stagingサーバーを作成し、コードをデプロイして、アプリを実行することで、正常に実行できました 。コードにいくつかの変更を加え、ステージングサーバーにデプロイしたいのですが、このコマンドを実行する RAILS_ENV=staging cap deploy と、次のエラーが発生します。

 * executing "cd -- /mnt/domain-staging/releases/20130321005928 && bundle exec rake RAILS_ENV=staging RAILS_GROUPS=assets assets:precompile && cp -- /mnt/domain-staging/shared/assets/manifest.yml /mnt/domain-staging/releases/20130321005928/assets_manifest.yml"
    servers: ["staging.domain.com"]
    [staging.domain.com] executing command
 * [out :: staging.domain.com] /usr/local/rubies/1.9.3-p385/bin/ruby /mnt/domain-staging/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=staging RAILS_GROUPS=assets
 * [out :: staging.domain.com]
 * [out :: staging.domain.com] rake aborted!
 * [out :: staging.domain.com] Command failed with status (): [/usr/local/rubies/1.9.3-p385/bin/ruby /mnt...]
 * [out :: staging.domain.com] /mnt/domain-staging/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.3/lib/sprockets/assets.rake:9:in `ruby_rake_task'
 * [out :: staging.domain.com] /mnt/domain-staging/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.3/lib/sprockets/assets.rake:62:in `block (3 levels) in <top (required)>'
 * [out :: staging.domain.com] /mnt/domain-staging/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.3/lib/sprockets/assets.rake:19:in `invoke_or_reboot_rake_task'
 * [out :: staging.domain.com] /mnt/domain-staging/shared/bundle/ruby/1.9.1/gems/actionpack-3.1.3/lib/sprockets/assets.rake:25:in `block (2 levels) in <top (required)>'
 * [out :: staging.domain.com] Tasks: TOP => assets:precompile:all
 * [out :: staging.domain.com] (See full trace by running task with --trace)
    command finished in 223523ms
failed: "/bin/bash -l -c 'cd -- /mnt/domain-staging/releases/20130321005928 && bundle exec rake RAILS_ENV=staging RAILS_GROUPS=assets assets:precompile && cp -- /mnt/domain-staging/shared/assets/manifest.yml /mnt/domain-staging/releases/20130321005928/assets_manifest.yml'" on staging.domain.com

デフォルトのcapistranoレシピは変更しておらず、コードは1回正常にデプロイされました。実稼働サイトでは「capdeploy」を実行できましたが、ステージングサイトでは実行できませんでした。Googleグループで何も見つかりませんでした。助けていただければ幸いです。

4

2 に答える 2

2

これを含めるように application.rb を調整する必要があります。

if defined?(Bundler)
  Bundler.require(*Rails.groups(:assets => %w(development test), :profiling => %w[staging development]))
end
于 2013-03-21T03:43:54.323 に答える
2

これは、「assets:precompile」の実行中のメモリ消費量が多いために発生します。EC2 インスタンスを再起動して、デプロイを再度実行してみてください。おそらくうまくいくでしょう。インスタンスのメモリを強化し、この種の問題を回避するために、インスタンス タイプを変更することもできます。

于 2013-05-16T15:46:25.110 に答える