2009-10-12 71 views
5

我們已經在哈德森有一個很好的構建服務器,但我們希望有一些東西能讓我們啓動和關閉服務器,推出新的軟件部署(這涉及到的不僅僅是單個WAR或EAR,還包括複製,提取,重命名等)以及我們想要自動化的各種其他任務。我已經看過SmartFrog(似乎很大程度上是學術性的,而不是常用的),ControlTier(複雜度高的複雜劑量),Capistrano(專注於Ruby和Rails)和Func(根本沒有文檔,他們的MediaWiki已被擦除)。有沒有什麼是這種事情的80/20解決方案?當然,你可以擁有一個工具,它可以提供ControlTier提供的許多功能,而不會造成任何開銷。Java環境是否有良好的部署和管理?

另一種方法是Ant腳本來做所有事情(可能通過我們現有的Hudson服務器)或者甚至是某種類型的Hudson插件,但是對我來說感覺很糟糕,我只是不喜歡它作爲解決方案(另外我們可能當我們不需要時重建某些東西)。

請告訴我一個很好的選擇。

回答

1

你可能想嘗試Cargo。您可以使用ant和maven作爲您想要的部署定義,然後將Hudson設置爲指向您的ant的build.xml或maven的pom.xml。

+0

Cargo的問題在於,通常在幾次重新部署之後,您的應用程序將因OutOfMemoryException(由於類加載器泄漏)而失敗。更安全的選擇是在更新期間重新啓動整個應用程序服務器(嘗試LiveRebel,它可以爲你自動執行)。 – 2013-03-26 14:02:45

2

我們只使用Ubuntu,並使用Debian軟件包在我們的服務器上分發構建,並用init腳本控制它們。安裝新服務器也很好。只需添加對Java,MySql和任何你需要的依賴,你就可以在幾秒鐘內完成並部署新的部署。

+0

這是一個簡潔的想法,如果我沒有爲愛的人工作,可能會工作)(%*&#)AIX和SUSE Linux。再次感謝那些優秀的選擇... – 2009-10-12 17:54:29

1

Chef被提及here但我沒有經驗。

+0

我有一種感覺,它可能太過Ruby和Rails導向。我會回去再看一次。 – 2009-10-12 17:55:13

+0

我已經進一步研究了它,並且我非常喜歡它不像ControlTier那樣複雜,但是它非常以Ruby和Rails爲中心,並且需要安裝Ruby和Gems才能運行,並且不會出現這種情況。支持像WebLogic或Sybase(或幾乎沒有其他任何面向Java的工具)。 – 2009-10-12 19:15:22

1

還有Puppet,你需要檢查。您可能需要在實現完全自動化的配置

-Ken

1

LiveRebel可能是這個任務的合適工具讀取this很大白皮書。它提供了CLI API以及用於自動化的Hudson/Jenkins插件