Hudson (軟件)
Hudson是用Java編寫的一個持續整合(CI)工具。它執行在Servlet容器中(例如Apache Tomcat、GlassFish)。它支援軟件組態管理(SCM)工具(包括CVS、Subversion、Git、Perforce、Clearcase和RTC),可以執行基於Apache Ant和Apache Maven的專案,以及任意的shell指令碼和Windows批次處理命令。Hudson的主要開發者是川口耕介,開發期間就職於太陽電腦公司。Hudson是在MIT許可證下發佈的自由軟件。
目前版本 | 3.2.0(2014年7月14日 | )
---|---|
程式語言 | Java |
作業系統 | 跨平台 |
類型 | 持續整合 |
許可協定 | MIT許可證 |
網站 | hudson-ci |
數據截至 | 2014年1月17日 |
可以通過各種手段觸發構建。例如可以通過類似Cron的機制排程,可以在其他的構建已經完成時,以及可以通過一個特定的URL進行請求。
Hudson在2008年左右基本取代了CruiseControl和其他開源的構建伺服器(Build Server)。[1][2]在2008年5月的JavaOne大會上,Hudson成為「Duke選擇獎」開發人員解決方案分類的得主。[3]
甲骨文公司收購太陽電腦時,甲骨文公司宣佈其有意把Hudson的名字作為商標,並開始以商業軟件開發。2011年初,開發社區中的多數人(包括川口耕介)決定以Jenkins的名義延續該專案。甲骨文公司堅稱Hudson仍在繼續開發,而Jenkins是其分支;但Jenkins的開發者認為Hudson是其分支。
隨後,甲骨文公司對於Hudson專案喪失了興趣,最終在2012年底將其捐贈給了Eclipse基金會[4]。截至2013年11月,每天提交給了Jenkins的貢獻[5]要比Hudson的[6]多得多。
外掛程式
Hudson可通過一個外掛程式架構進行擴充。許多外掛程式已經公開,擴充了Hudson,使其遠遠超越了純粹的Java專案的構建工具。 對於大多數的版本控制系統和大的資料庫,有與Hudson整合的外掛程式可用。許多構建(build)工具都是通過他們各自的外掛程式提供支援。外掛程式還可以改變Jenkins的外觀,或添加新的功能。
構建時可以生成各種格式的測試報告(JUnit是內建支援的,別的格式則需通過外掛程式)。Hudson可以顯示報表,生成趨勢圖,並在圖形化介面中呈現它們。
Hudson——Jenkins的分裂
在2010年11月,就由誰主導Hudson[需要解釋],[7]該專案的主要貢獻者和甲骨文公司之間展開談判,儘管在多個方面達成一致,爭議集中在對「Hudson」名字本身的控制上。甲骨文公司聲明對Hudson的名字擁有權利,並在2010年12月初申請將其註冊為商標(在2011年10月25日獲得商標權)[8]。因此,2011年1月11日,有人提議將專案名稱從「Hudson」變更為「Jenkins」。[9]2011年1月29日,社區投票以壓倒多數批准通過該提案,建立Jenkins專案。[10]2011年2月1日,甲骨文公司表示,繼續與社區中的其他人合作,延續Hudson的開發。[11]
移交給Eclipse基金會
2011年5月3日,Eclipse基金會與Hudson的主要提交者、甲骨文公司、Sonatype和其他的社區支持者發出了正式的提議,將Hudson(包括核心代碼和存在問題的商標)轉交給Eclipse基金會。[12]Hudson的創始人川口耕介表示甲骨文公司此舉是在考驗Jenkins。「當我們與甲骨文公司的談判找到一個中間地帶時,他們說得很清楚,他們不打算放棄對Hudson商標的控制。但這一舉動[13]表明他們清楚地認識到甲骨文公司無法使Hudson專案跟上Jenkins專案。」 [14]2012年1月24日,Eclipse宣佈把Hudson 3列入Eclipse基金會。[15]
參見
參考文獻
- ^ Dan Dyer. Why are you still not using Hudson?. [2008-05-21]. (原始內容存檔於2012-04-26).
- ^ What is the difference between Hudson and CruiseControl for Java projects?. Stack Overflow. [2011-01-17]. (原始內容存檔於2010-09-06).
- ^ 2008 JavaOne Conference: Duke's Choice Awards Winners for 2008. [2008-05-21]. (原始內容存檔於2012-04-26).
- ^ Hudson. Eclipse Foundation. [2014-07-26]. (原始內容存檔於2014-07-27).
- ^ Commits·jenkinsci/jenkins. GitHub. [2014-07-25]. (原始內容存檔於2019-02-16).
- ^ Hudson Core. Eclipse基金會. [2014-07-25]. (原始內容存檔於2014-04-21).
- ^ Who's driving this thing?. [2011-01-31]. (原始內容存檔於2013-03-12).
- ^ Hudson Trademark Listing on Trademarks411. [2012-02-13]. (原始內容存檔於2014-12-06).
- ^ Hudson's future. [2011-01-11]. (原始內容存檔於2011-01-12).
- ^ Rename Vote Results. [2011-01-29]. (原始內容存檔於2019-10-17).
- ^ The Future of Hudson. [2011-02-02]. (原始內容存檔於2011-02-05).
- ^ Eclipse Foundation proposal. [2011-05-03]. (原始內容存檔於2011-05-09).
- ^ 指移交Hudson給Eclipse基金會。
- ^ Oracle hands Hudson to Eclipse, but Jenkins fork seems permanent. InfoWorld. 2011-05-04 [2011-08-10]. (原始內容存檔於2012-03-07).
- ^ 存档副本. [2013-12-08]. (原始內容存檔於2013-12-08).