在rails中,我想找到一个递增的数字,增加或至少改变每个人的部署或git提交/推送。rails,找到一个递增的数字用于缓存破坏
我需要这个缓存破坏CDN。
config.action_controller.asset_path = proc { |asset_path|
"/rel-#{RELEASE_NUMBER}#{asset_path}"
}
有什么建议吗?由于
在rails中,我想找到一个递增的数字,增加或至少改变每个人的部署或git提交/推送。rails,找到一个递增的数字用于缓存破坏
我需要这个缓存破坏CDN。
config.action_controller.asset_path = proc { |asset_path|
"/rel-#{RELEASE_NUMBER}#{asset_path}"
}
有什么建议吗?由于
有点像?
def release_sha
@release_sha ||= `git log -1 --pretty=format:%h 2>/dev/null`
end
你可以用这种方法做得更好,并获得不同文件夹/文件的SHA。
def release_sha(path=nil)
@release_sha ||= {}
@release_sha[path] ||= `git log -1 --pretty=format:%h #{path} 2>/dev/null`
end
然后将其称为release_sha('/public/images')
以获取该文件夹的最新SHA。
只需使用当前的时间戳(时期)..
Time.now.usec
您可以将此值写入到一个常数,把它在配置/ initlaizers/cache_buster.rb例如使用脚本(或写你的自己的耙子任务)..
不能这样做,因为它会改变每一个请求。我需要静态部署,因此CDN不会刷新内容。 – AnApprentice
我意识到在输入我的初始响应之后,我添加了将该值写入文件的初始化程序中的设置常量的建议。我实际上是在我的php应用程序中完成此操作并使用它在CDN中创建目录 – Stephen