【问题标题】:RAILS_ENV=staging cap deploy fails on rake precompile assets RandomlyRAILS_ENV=staging cap deploy 在 rake 预编译资产上随机失败
【发布时间】:2013-03-15 17:08:45
【问题描述】:

我在将我的 rails 应用程序部署到 Amazon EC2 上的 t1.micro 实例时遇到问题。我问了这个问题:RAILS_ENV=staging cap deploy fails on rake precompile assets

在我将推荐的代码添加到我的 application.rb 文件后,我的第一次部署是成功的。然后我更新了一个 js 文件并进行了部署,以确保它编译成功并正确更新了资产并且它工作正常。但后来我第三次尝试,它失败了,同样的错误。然后我再次尝试并成功部署。然后 2 天后,我尝试部署,连续 3 次失败,我无法再次部署。

我想知道在 t1.micro 实例上编译我的资产是否花费了太长时间,并且有时会超时。

我没有太多的图像、样式表或 JavaScript 代码。这是一个相对较新的基础应用程序。

【问题讨论】:

    标签: ruby-on-rails deployment amazon-ec2 capistrano rubber


    【解决方案1】:

    一旦达到临界质量,EC2 微型实例就没有足够的精力来编译资产。如果您阅读 Capistrano 日志,您可能会发现一个条目表明该进程已被终止。我在尝试部署在微型实例上的项目中发现了这一点,并升级到小型实例来解决。

    另一种解决方案是在本地预编译您的资产,然后使用像 https://github.com/rumblelabs/asset_sync 这样的 gem 将它们放在 CDN 上。

    【讨论】:

    • 将我的登台服务器从微型升级到了一个小型实例,并且整个星期的部署都没有出现任何问题。我怀疑这是问题所在,感谢您确认微型实例可能由于功率不足而出现问题。
    猜你喜欢
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2015-08-12
    相关资源
    最近更新 更多