Sam*_*ong 17 ruby-on-rails asset-pipeline
在rails 3.1中,当您预编译资产时,rails会创建public/assets目录并在那里添加文件.
你是版本控制公共/资产/*吗?
Tra*_*vis 12
我使用Capistrano进行部署.最后一步是编译资产.没有这样的东西被检入版本控制.
https://github.com/capistrano/capistrano/wiki/Documentation-v2.x
检查已编译的资产,.gz文件/等,只会使版本控制混乱.
我也在寻找答案.我发现官方的Rails指南对此有一些想法:
http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation
以下是相关部分的引用(重点补充):
您可能希望在本地预编译资产有几个原因.其中包括:
- 您可能没有对生产文件系统的写入权限.
- 您可能正在部署到多个服务器,并希望避免重复工作.
- 您可能正在进行不包含资产更改的频繁部署.
本地编译允许您将编译的文件提交到源代码控制中,并正常部署.
有三点需要注意:
- 您不得运行预编译资产的Capistrano部署任务.
- 您必须确保开发系统上有任何必要的压缩机或缩放器.
- 您必须更改以下应用程序配置设置:
在
config/environments/development.rb
,放置以下行:Run Code Online (Sandbox Code Playgroud)config.assets.prefix = "/dev-assets"
此
prefix
更改使Sprockets在开发模式下使用不同的URL来提供资产,并将所有请求传递给Sprockets.前缀仍在/assets
生产环境中设置.如果没有此更改,应用程序将/assets
在开发中为预编译资产提供服务,在再次编译资产之前,您不会看到任何本地更改.实际上,这将允许您在本地进行预编译,在工作树中包含这些文件,并在需要时将这些文件提交到源代码控制.开发模式将按预期工作.
因此,有时候将预编译资产放入VCS可能是个好主意.
归档时间: |
|
查看次数: |
1589 次 |
最近记录: |