在 bundle exec rake assets:precompile 后 OpsWorks 部署失败

Posted

技术标签:

【中文标题】在 bundle exec rake assets:precompile 后 OpsWorks 部署失败【英文标题】:OpsWorks deploy failed after bundle exec rake assets:precompile 【发布时间】:2018-08-10 03:23:12 【问题描述】:

我正在尝试使用 AWS OpsWorks 和 Chef 部署应用程序,我曾在其他时间运行过部署并且从未失败,但这次我在日志中收到了下一条消息。我运行命令包 在 localhost 中执行 rake assets:precompile] 一切正常, 可以是什么?

[2018-03-01T18:50:54+00:00] INFO: Processing execute[cd 
/srv/www/my_project/releases/20180301185045 && RAILS_ENV=production bundle 
exec rake assets:precompile] action run 
(/opt/aws/opsworks/releases/20160504095744_3437-
20160504095744/vendor/bundle/ruby/2.0.0/gems/chef-
11.10.4/lib/chef/provider/deploy.rb line 63)

Error executing action 'run' on resource 'execute[cd 
/srv/www/my_project/releases/20180301185045 && RAILS_ENV=production bundle 
exec rake assets:precompile]' 

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '137'
---- Begin output of cd /srv/www/my_project/releases/20180301185045 && 
RAILS_ENV=production bundle exec rake assets:precompile ----
STDOUT: 

【问题讨论】:

【参考方案1】:

同意 Opsworks 在部署期间总是会遇到内存不足状态,尤其是在实例(微型/小型)上。 SSH 到实例并制作交换内存(例如 2GB / 4GB)将有助于大大减少问题。

【讨论】:

【参考方案2】:

有时实例内存不足。 仅停止和启动您正在执行部署的实例。

【讨论】:

以上是关于在 bundle exec rake assets:precompile 后 OpsWorks 部署失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 bundle exec rake 还是只使用 rake?

bundle exec rake 是啥意思?

Rails--bundle exec rake db:migrate

$ bundle exec rake db:reset 命令提升无法删除 db/development.sqlite3

Github 操作工作流 PG::ConnectionBad:无法连接到服务器:运行 bundle exec rake 时没有这样的文件或目录

我在 Open Project 源代码中遇到了 rake assets 预编译问题