2013-03-12 123 views
0

有沒有人使用Capistrano進行基於Java的應用程序部署? 使用CapistranoMaven,ant或Eclipse Deploy等現有工具相比有什麼優勢嗎? 針對基於java的應用程序的Capistrano的任何特定用例?Capistrano for Java(EE)Web應用程序

回答

1

Rails是一個與Ruby語言結合的框架,Capistrano被維基百科大致描述爲「腳本運行者」。

Capistrano在其一般用戶文檔中絕對沒有提供Java部署的示例,它可能傾向於部署Java,但顯然這不是「開箱即用」提供的功能。

這兩種選擇都會不必要地將部署複雜化爲Java Web容器。除非您擁有關於Capistrano內部工作的豐富知識,並且有時間讓他們正確部署Java Web應用程序,否則我會考慮提供開箱即用的Java部署解決方案。

2

將Capistrano與Ant和Maven進行比較是不正確的。這些應用程序的目的有點不同。 Capistrano可以與它們結合。 Capistrano主要是部署工具,而Ant和Maven主要用於構建和管理依賴關係。它具有非常好的部署設備,並且沒有連接到java或ruby。它爲此目的提供了一個更簡單的DSL,與其獨立於平臺的批處理腳本相比較。它提供了通過名稱空間和像ant這樣的任務來組織部署腳本的簡單方法。考慮以下腳本:

task :hosts => "host1, host2" do 
    upload <file> 
    run <comand> 
end 

它將文件上傳到主機的數量並運行所有這些命令。

+0

螞蟻不是依賴管理工具。沒有?我同意Maven是依賴和構建管理工具 – 2013-03-12 18:25:50

+1

Ant不是一個依賴管理工具,它是一個製作軟件的製作工具;但是,對於依賴管理,可以使用__apache ivy__進行擴展;然而,所管理的「依賴性」是軟件依賴性。除了可以在任務中使用Maven之外,Maven內置了類似於ivy的依賴項工具,例如部署實際上與簡單的依賴關係管理不同。 – 2013-03-12 19:33:17