【问题标题】:rails 3.0.1 dynamic asset generation pre/post capistrano deploymentrails 3.0.1 动态资产生成前/后 capistrano 部署
【发布时间】:2011-11-22 00:15:19
【问题描述】:

我正在运行 rails 3.0.1,虽然我们打算迁移到 3.1 和资产管道,但我正在寻找在独角兽热重启期间生成资产的解决方案/解决方法。

基本上当前发生的事情是我们部署到我们的站点,当部署完成时,“当前”符号链接将更改为还没有静态资产的新目录。然后大约 60 秒后,所有资产都生成了,一切都很好,但是在生成资产之前的 60 秒内,我们的网站基本上已经关闭。

问题:

  1. 如果我将文件从旧版本目录复制到新目录,资产生成会覆盖我复制的旧文件吗?
  2. 资产生成在 Rails 代码的什么位置完成? ActionPack 调度程序?
  3. 这些资产的生成是在应用初始化时完成还是在其他阶段完成?

【问题讨论】:

    标签: ruby-on-rails-3 capistrano assets asset-pipeline unicorn


    【解决方案1】:

    如果你的布局是这样的:

    /srv/yourapplication/current
    

    你应该有一个共享文件夹

    /srv/yourapplication/shared/assets
    

    并将 public/assets 符号链接到 /srv/yourapplication/shared/assets

    这样每次您的旧资产和新资产都将位于同一个文件夹中,并且可以正常提供。

    【讨论】:

    • 如果您使用资产管道,我认为这是正确的。为了确认我没有使用资产管道并正在寻找上述问题的答案
    • 您目前将资产存储在哪里?您存储在 /public 中的任何内容都不会被资产管道修改,并且应该像现在一样工作。
    • 我在这里发布了我的解决方法,但我仍然在回答问题:petey5king.github.com/2011/12/10/rails-asset-pipeline-hack.html
    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多