Hudson是一款基于Java的持續集成(CI)工具,用于監控和自動化軟件開發中的重復工作。它運行在Servlet容器中,如apache Tomcat或GlassFish,支持多種軟件配置管理(SCM)工具,如CVS、Subversion、Git、Perforce、Clearcase和RTC,可以執行Apache Ant和Apache Maven基于的項目,以及任意的Shell腳本和Windows批處理命令。Hudson的主要開發者是川口耕介,當時他在升陽電腦公司工作。Hudson是在MIT許可證下發布的自由軟件。
構建可以通過多種方式觸發,包括通過類似Cron的機制調度,在其他構建已完成時,以及通過請求特定的構建URL。在2008年,Hudson成為了CruiseControl和其他開源構建服務器的替代品。在2008年的JavaOne大會上,Hudson榮獲“DUKE選擇獎”開發人員解決方案分類的獎項。在甲骨文公司收購太陽微系統后,宣布將Hudson的名字作為商標,并開始開發商業版本。
2011年初,大部分開發社區成員(包括川口耕介)決定以Jenkins的名義繼續開發該項目。甲骨文公司堅稱Hudson仍在繼續開發,而Jenkins是其分支;但Jenkins的開發者認為Hudson是分支。隨后,甲骨文公司對Hudson項目喪失興趣,最終在2012年底將其捐贈給了Eclipse基金會。截至2013年11月,每天提交給Jenkins的貢獻要比Hudson的多得多。Hudson已被Jenkins取代,并于2017年2月被宣布為廢棄。
軟件介紹
1、持續的軟件版本發布/測試項目。
2、監控外部調用執行的工作。
Hudson的特性:
1、易于安裝-只要把hudson.war部署到servlet容器,不需要數據庫支持。
2、易于配置-所有配置都是通過其提供的web界面實現。
3、集成RSS/E-mail/IM-通過RSS發布構建結果或當構建失敗時通過e-mail實時通知。
4、生成junit/TestNG測試報告。
5、分布式構建支持-Hudson能夠讓多臺計算機一起構建/測試。
6、文件識別- Hudson能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
7、插件支持-Hudson可以通過插件擴展,你可以開發適合自己團隊使用的工具。
插件擴展
Hudson的功能可以通過其插件架構進行擴展。市面上已經有許多公開提供的插件,這些插件不僅使Hudson成為了一個超越Java項目構建工具的平臺,還支持與多數版本控制系統和bug數據庫的集成。除了支持多種構建工具,插件還可以改變Hudson的外觀或添加新的功能。構建過程可以生成各種格式的測試報告,其中junit報告可以直接支持,其他格式的報告則通過插件支持。Hudson可以展示這些報告,生成趨勢,并在圖形用戶界面(GUI)中呈現。
相關事件
2010年11月,Hudson社區因使用基礎設施的問題與Oracle數據庫之間的分歧加劇,這些問題最終演變成關于項目管理和Oracle的感知控制的爭議。在與Oracle的談判中,盡管在許多方面達成了共識,但雙方在“Hudson”這個名稱的控制權上存在關鍵分歧。Oracle堅稱擁有該名稱,并在2010年12月提交了商標注冊申請,該申請于2011年10月25日獲得批準。因此,2011年1月11日提出了將項目名稱從“Hudson”更改為“Jenkins”的提案,并在2011年1月29日的投票中得到了社區的壓倒性支持,從而創建了Jenkins項目。Oracle數據庫隨后在2011年2月1日表示,它打算與社區中的其他人合作,繼續開發Hudson。
2011年5月3日,Eclipse基金會與Hudson的主要貢獻者、Oracle、Sonatype以及其他社區支持者一起,提出了將Hudson核心代碼和問題商標轉移到Eclipse基金會的正式提案。Hudson的創始人Kohsuke Kawaguchi將此視為對Jenkins的認可,他指出Oracle在談判中明確表示不會放棄對商標的控制,但這一舉動表明Oracle無法跟上Jenkins項目的發展步伐。2013年1月23日,Eclipse宣布將Hudson 3納入Eclipse基金會。Hudson網站hudson-ci.org于2020年1月31日關閉,標志著這一曾經流行的CI工具的最終落幕。
參考資料 >