deploy_revision リソースを使用している場合は、rake タスクを貼り付けてアセットのプリコンパイルをbefore_restart
ブロックに実行できます。
私の deploy_revision リソースにあるコードのスニペットを次に示します。私は RVM を使用しているので、Fletcher Nichol のすばらしいRVM 料理本をインストールしました。ruby-block
これをリソースに置き換えることができます。
私の要点でより完全な例をチェックアウトしてください。
app = node[:rails][:app_name]
before_restart do
rvm_shell "assets precompile" do
ruby_string "#{app[:ruby_ver]}@#{app[:gemset]}"
cwd release_path
user app[:deploy_user]
group app[:deploy_user]
# TODO I could not set the environment via the builtin command. Does not look like it is getting passed to popen4
# So instead of `environment "RAILS_ENV" => app[:environment]` I have it in the code block
code %{
export RAILS_ENV=#{app[:environment]}
bundle exec rake assets:precompile
}
end
end