我正在编写一个代码,它将在我的网站中缩小和 gzip 某些 CSS 和 JS 文件,然后将它们部署到在线服务器。在我的 deploy.rb 文件中,我有:
namespace :deploy do
task :start do
end
task :stop do
end
task :finalize_update do
run "LANG=C find #{release_path} -type f -name '*.php' -exec sed -i 's/d1b03c1ee47aaa75040d7c45c4b77a2b/87c8273ed98d70c2e5c56cc487598a0e/g' {} \\;"
end
task :minify do
#declare compressor
compressor = "java -jar /home/yui_compressor/yuicompressor-2.4.8.jar"
#name of the javascript files to be minify and compressed
js_list = ["filter","onBoarding"]
javascript_path = #{current_path}/js
run "cd #{javascript_path}"
js_list.each do |js|
run "#{compressor} --type js #{js}.js -o #{js}.min.js"
run "gzip -c #{js}.min.js >#{js}.min.js.gz"
end
#name of the style files to be minify and compressed
css_list = ["styles"]
css_path = #{current_path}/css
run ("cd #{css_path}")
css_list.each do |css|
run "#{compressor} --type css #{css}.css -o #{css}.min.css"
run "gzip -c #{css}.min.css >#{js}.min.css.gz"
end
end
task :restart do
end
before "deploy:", "minify"
after "deploy:restart" do
#run "find #{release_path} -type f -exec chmod 644 {} \\;"
#run "find #{release_path} -type d -exec chmod 775 {} \\;"
end
end
如您所见,我正在使用 YUI Compressor。问题是:
failed: "sh -c 'java -jar /home/yui_compressor/yuicompressor-2.4.8.jar --type js filter.js -o filter.min.js'" on my-server.com
我在这里做错了什么?提前致谢
编辑:基本上我想要的是缩小和 gzip CSS/JS 文件,然后部署到生产中,我正在尝试使用 Capistrano 来完成这个(我已经使用 Capistrano 来更改文件的一些小部分,就像你在 finalize_update 中看到的那样任务)。知道怎么做吗?