跳至內容

Jenkins (軟件)

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Jenkins
首次發布2011年2月2日 (2011-02-02)[1]
當前版本2.381(2022年12月4日,​2年前​(2022-12-04
源代碼庫 編輯維基數據鏈接
編程語言Java
平台Java 11, Java 17
類型持續交付
許可協議MIT許可證[2]
網站www.jenkins.io/ 編輯維基數據

Jenkins是一款由Java編寫的開源持續集成工具。在與Oracle發生爭執後,項目從Hudson項目復刻

Jenkins提供了軟件開發的持續集成服務。它運行在Servlet容器中(例如Apache Tomcat)。它支持軟件配置管理(SCM)工具(包括AccuRev SCM英語AccuRev SCMCVSSubversionGitPerforce英語PerforceClearcase英語ClearcaseRTC英語Rational Team Concert),可以執行基於Apache AntApache Maven的項目,以及任意的Shell腳本和Windows批處理命令。Jenkins的主要開發者是川口耕介。[3]Jenkins是在MIT許可證下發布的自由軟件[4]

可以通過各種手段觸發構建。例如提交給版本控制系統時被觸發,也可以通過類似Cron的機制調度,也可以在其他的構建已經完成時,還可以通過一個特定的URL進行請求。

歷史

[編輯]

Jenkins的前身是Hudson項目。Hudson 2004年夏天始創於昇陽電腦,2005年2月首次發布於java.net。[5]

2007年前後,Hudson被稱為相對CruiseControl英語CruiseControl和其他開源的構建服務器(Build Server)更好的選擇。[3][6]2008年5月的JavaOne大會上,Hudson成為「Duke選擇獎」開發人員解決方案分類的得主。[7]

在2010年11月,關於由誰主導來Hudson[8],該項目的主要貢獻者和Oracle之間展開談判。儘管在多個方面達成一致,爭議集中在是否把Hudson註冊為商標[9],後來Oracle聲明對Hudson的名字擁有權利,並在2010年12月申請將其註冊為商標。[10]因此,2011年1月11日,社群號召投票將項目名稱從「Hudson」變更為「Jenkins」。[11] 2011年1月29日,社群投票以壓倒多數批准通過該提案,創建Jenkins項目。[12][13]

2011年2月1日,Oracle表示他們打算繼續Hudson的開發,並認為Jenkins是Hudson的復刻,而非重命名。[14]Jenkins和Hudson之後繼續作為兩個獨立的項目,均聲稱對方是自己的復刻。截至2013年12月,在GitHub上的Jenkins組織有567項目成員及約1100公共庫(public repository)[15],而Hudson組織有32個項目成員和17個公共庫[16]

在2011年,創建者川口耕介收到了O'Reilly開源獎英語O'Reilly Open Source Award,獎勵其在Hudson/Jenkins項目上的工作。2014年,川口耕介成為CloudBees英語CloudBees的首席技術官。[17]

插件

[編輯]

Jenkins的擴展插件已經發布,能使非Java語言編寫的項目也使用Jenkins。[18]對於大多數的版本控制系統和大的數據庫,有與Jenkins集成的插件可用。許多構建(build)工具都是通過他們各自的插件提供支持。插件還可以改變Jenkins的外觀,或添加新的功能。

構建時可以生成各種格式的測試報告(JUnit是被內建支持的,別的格式則需通過插件)。Jenkins可以顯示報表,生成趨勢圖,並在圖形化界面中呈現它們。

參見

[編輯]

參考文獻

[編輯]
  1. ^ Jenkins 1.396 released頁面存檔備份,存於網際網路檔案館), The first release of Jenkins is posted, Kohsuke Kawaguchi
  2. ^ LICENSE.txt. jenkinsci/jenkins (source code repository). GitHub. 2008-02-12 (2011-09-11) [2016-10-18]. (原始內容存檔於2016-10-18). 
  3. ^ 3.0 3.1 Dyer, Dan. Why are you still not using Hudson?. New Adventures in Software. uncommons.org. 2008-09-05 [May 21, 2008]. (原始內容存檔於2012-04-26). 
  4. ^ Kawaguchi, Kohsuke; et al. Use Hudson: License. [2011-01-30]. (原始內容存檔於2009-02-07). 
  5. ^ Kawaguchi, Kohsuke. Hudson (PDF). [2013-06-28]. (原始內容 (PDF)存檔於2014-07-01). 
  6. ^ Jay R. [user name]; Jeffery Frederick, Jonik, et al [user names]. What is the difference between Hudson and CruiseControl for Java projects?. Stack Overflow. [2011-01-17]. (原始內容存檔於2010-09-06). 
  7. ^ Duboscq, Geneviève. 2008 JavaOne Conference: Duke's Choice Awards Winners for 2008. 2008 Java One Conference. java.sun.com. 2008 [2008-05-21]. (原始內容存檔於2012-04-26). 
  8. ^ Who's driving this thing?. [January 31, 2011]. (原始內容存檔於2013-03-12). 
  9. ^ Hudson Process Discussion Summary. [2011-01-31]. (原始內容存檔於2013-06-08). 
  10. ^ Blewitt, Alex. Hudson Renames to Jenkins. InfoQ. [2011-02-08]. (原始內容存檔於2013-07-22). 
  11. ^ Bayer, Andrew. Hudson's future. Jenkins CI: A Jenkins community resource. 2011-01-11 [2011-01-11]. (原始內容存檔於2016-03-17). 
  12. ^ Bayer, Andrew. Rename Vote Results. Hudson-dev Google Group. 2011-01-29 [2011-01-29]. (原始內容存檔於2011-01-31). 
  13. ^ Bayer, Andrew. Jenkins!. 2011-01-29 [2011-01-30]. (原始內容存檔於2016-03-09). 
  14. ^ The Future of Hudson. Hudson-dev mailing list. [2011-02-02]. (原始內容存檔於2011-02-05). 
  15. ^ Jenkins organisation on GitHub. [2013-01-22]. (原始內容存檔於2021-01-25). Jenkins (jenkinsci),2009年7月21日加入,有1100餘公共庫(public repos.),567個成員 
  16. ^ Hudson organisation on GitHub. [2013-01-22]. (原始內容存檔於2020-04-17). Hudson CI Server (hudson),2011年2月1日加入,有17個公共庫(public repos.),32個成員 
  17. ^ People on the Move. Boston Business Journal. [2014-01-31]. (原始內容存檔於2020-09-19). 
  18. ^ Plugins. Jenkins Wiki. [2014-07-26]. (原始內容存檔於2016-12-05). 

外部連結

[編輯]