我的ruby on rails app大约需要半小时才能完成部署。 最长的一步是
RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile
大约需要1073155毫秒
我必须等待很长时间才能进行每次部署。
我用
ckeditor
rails_admin
我想是他们减慢我的部署速度,但我没有证据,我不知道如何
解决它。
我的其他环境如下:
rails 4.0.3
ruby 2.1.1
我的关于资产的production.rb是
config.serve_static_assets = false
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = true
# Generate digests for assets URLs.
config.assets.digest = true
# Version of your assets, change this if you want to expire all your assets.
config.assets.version = '1.0'
答案 0 :(得分:2)
尝试跳过编译ckeditor资产
配置/环境/ production.rb
require_relative '../../lib/assets/selective_assets_compressor'
config.assets.js_compressor = SelectiveAssetsCompressor.new
LIB /资产/ selective_assets_compressor.rb
class SelectiveAssetsCompressor < Uglifier
def initialize(options = {})
super(options)
end
def compress(string)
if string =~ /CKSource/
string
else
super(string)
end
end
end
答案 1 :(得分:1)
对于更快的资产预编译,您可以在config / application.rb中将config.assets.initialize_on_precompile设置为false。 Heroku要求这是假的。
config.assets.initialize_on_precompile = false
如果你这样做,一定要测试rake资产:在本地预编译,因为没有加载完整的环境,不会加载引擎(或其他宝石),这可能导致资产丢失。
另一方面,您可以在本地部署之前执行资产预编译,并部署预编译的文件。