我使用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