我使用JRuby运行Rails项目并部署到Tomcat服务器。我选择部署Capistrano,因为它可以自动完成一切。我不得不做出,以便让它在Tomcat运行一些小的修改,以Capistrano酒店的部署生命周期:
第1步:我创建了一个颤声任务要在服务器上运行Capistrano的更新代码之后:
desc "Run the warble command to deploy the site"
namespace(:deploy) do
task :warble do
run ". ~/.profile;cd #{release_path};warble"
end
end
after 'deploy:update_code', 'deploy:warble'
我的Tomcat服务器具有指向由吟哦创建的#{release_path}/tmp/war
目录中的符号链接:
而且使用迷上它成Capistrano的生命周期。如果你不喜欢这个,你可以很容易地修改warble任务来将war文件移动到Tomcat目录中。
第2步:我推翻了deploy:start
和deploy:stop
任务,使他们揭开序幕Tomcat服务器,而不是一个杂种服务器:
desc "Starts the Tomcat Server"
namespace(:deploy) do
task :start do
sudo "#{tomcat_home}/bin/startup.sh"
end
end
desc "Shutdown the Tomcat Server"
namespace(:deploy) do
task :stop do
sudo "#{tomcat_home}/bin/shutdown.sh"
end
end
我使用MRI而不是JRuby解释运行Capistrano的任务。
大,这种做法最终被最简单的全面。使用plink.exe而不是SSH(在Windows上)结束。 我已经修复了我遇到的capistrano问题,以及其他一些我没有修复的bug。我会把它们提交给capistrano :) – madlep 2008-09-29 23:25:39