assets本地编译优化部署时间
Posted
随着rails项目js效果增加,加了JS MVC框架等,变的每发布一次时间越来越延长!也增加服务器在高峰时候cpu与内存的负担!
综合考虑解决把 rake assets:precompile 放在本地编译,然后通过capistrano2发布到服务端!
修改 config/deploy.rb
namespace :prepare do
desc "Compress assets in a local file"
task :compress_assets do
run_locally("rm -rf public/assets/*")
run_locally("bundle exec rake assets:precompile")
run_locally("touch assets.tgz && rm assets.tgz")
run_locally("tar zcvf assets.tgz public/assets/")
run_locally("mv assets.tgz public/assets/")
end
desc "Upload assets"
task :upload_assets do
upload("public/assets/assets.tgz", release_path + '/assets.tgz')
run "cd #{release_path}; tar zxvf assets.tgz; rm assets.tgz"
end
end
before "deploy:update_code", "prepare:compress_assets"
...
after "deploy:symlink", "prepare:upload_assets"
#####更新补充:
发现这个capistrano-local-precompile gem可以本地compile再同步到server上!
- http://www.kudelabs.com/2012/03/28/rails-3-2-cap-deploy-with-assets
- http://fernando.blat.es/post/12563486374/optimize-deploy-time-compiling-your-assets-locally
- http://stackoverflow.com/questions/9016002/speed-up-assetsprecompile-with-rails-3-1-3-2-capistrano-deployment
- http://simonecarletti.com/blog/2009/02/capistrano-uploads-folder/
此文章 短链接: http://dlj.bz/Nh0jFA
Tag Cloud
AFNetworking(1)
AngularJS(2)
Devise(1)
Devops(1)
Homebrew(1)
MacOSX(11)
Rails4(2)
TTS(1)
Unauthorized(1)
analysis(1)
android(1)
apache(2)
api(1)
assets(5)
backup(3)
blog(1)
bower(1)
bundle(2)
cache(1)
capistrano(2)
capistrano3(2)
centos(4)
chrome-extension(1)
crontab(1)
css(1)
curl(1)
data(2)
deploy(2)
dlj(1)
dropbox(3)
elasticsearch(1)
fqa(1)
gem(7)
geobean(1)
gfw(1)
gis(1)
git(4)
github(2)
gitlib(1)
google(1)
httpd(1)
iOS(2)
java(1)
javascript(2)
jekyll(1)
js(2)
letsencrypt(1)
linode(2)
linux(16)
memcached(1)
mongodb(5)
mongoid(2)
mongomapper(1)
mtr(1)
mysql(2)
newrelic(1)
nginx(7)
nodejs(1)
notejs(1)
observer(1)
octopress(1)
omniauth-oauth(1)
openlayers(1)
paginate(2)
passenger(2)
pipeline(1)
plugin(2)
production(1)
proxy(3)
rails(23)
rails3(4)
rake(1)
restful_authentication(1)
ruby(28)
rvm(6)
search(1)
siege(1)
sinatra(2)
skill(7)
socks(1)
solr(1)
sql(2)
sqlserver(1)
ssh(6)
ssl(1)
story(4)
sublime-text(3)
sunspot(1)
sweeper(1)
theme(1)
tile(1)
tools(1)
ubuntu(19)
vagrantbox(2)
vps(2)
web(1)
webkit(1)
webpack(1)
win(3)
xcode(2)
yarn(1)
yum(1)
佛(3)
创业(1)
压力测试(2)
正则(1)
转载(7)