Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。
功能
Jenkins功能包括:
1. 持續(xù)的軟件版本發(fā)布/測(cè)試項(xiàng)目。
2. 監(jiān)控外部調(diào)用執(zhí)行的工作。
3. 支持多種版本控制工具,如AccuRev、CVS、Subversion、Git等。
4. 執(zhí)行基于Apache Ant、Apache Maven和sbt的項(xiàng)目,以及任意的shell腳本和Windows批處理命令。
5. 通過插件擴(kuò)展功能,支持不同語言的項(xiàng)目,集成多種構(gòu)建工具和測(cè)試報(bào)告格式。
6. 配置電子郵件通知,以在構(gòu)建過程中發(fā)生重要事件時(shí)通知用戶。
7. 存儲(chǔ)和檢索不同類型的憑據(jù),為其他插件提供標(biāo)準(zhǔn)化的API。
8. 監(jiān)控外部執(zhí)行的作業(yè)。
9. 通過SSH代理管理在*nix機(jī)器上運(yùn)行的代理。
10. 添加了javadoc支持,允許發(fā)布Javadoc作為后期構(gòu)建操作。
11. 提供用戶界面調(diào)度和監(jiān)視shell腳本的運(yùn)行。
12. 實(shí)施訪問控制和保護(hù)對(duì)抗外部威脅,如CSRF攻擊和惡意構(gòu)建。
啟動(dòng)
首先保證系統(tǒng)中已經(jīng)安裝了JDK,最好是jdk1.5以上。
第一種啟動(dòng)方法,切換到j(luò)enkins.war存放的目錄,輸入如下命令:
$ java -jar jenkins.war
如果需要修改端口可以使用如下命令:
$ java -jar jenkins.jar--httpPort=8081
然后在瀏覽器中(推薦用火狐)輸入localhost:8081,localhost可以是本機(jī)的ip,也可以是計(jì)算機(jī)名。就可以打開jenkins。
第二種方法是用tomcat打開
解壓tomcat到某個(gè)目錄,如/usr/local,進(jìn)入tomcat下的/bin目錄,啟動(dòng)tomcat
將jenkins.war文件放入tomcat下的webapps目錄下,啟動(dòng)tomcat時(shí),會(huì)自動(dòng)在webapps目錄下建立jenkins目錄,在地址欄上需要輸入localhost:8080/jenkins。
歷史
Jenkins項(xiàng)目最初被命名為Hudson,于2011年更名。這是由于與Oracle數(shù)據(jù)庫(kù)的糾紛,Oracle聲稱擁有“Hudson”這個(gè)名稱的權(quán)利。Jenkins和Hudson繼續(xù)作為兩個(gè)獨(dú)立的項(xiàng)目存在,但Jenkins擁有更大的社區(qū)和更新的代碼庫(kù)。Jenkins項(xiàng)目的創(chuàng)始人Kohsuke Kawaguchi因其在項(xiàng)目上的工作而獲得了O'Reilly開源獎(jiǎng)。
構(gòu)建
構(gòu)建可以通過多種方式觸發(fā),例如版本控制系統(tǒng)中的提交、定時(shí)調(diào)度、請(qǐng)求特定的構(gòu)建URL、隊(duì)列中其他構(gòu)建的完成或其他構(gòu)建的調(diào)用。
插件
Jenkins社區(qū)發(fā)布了大量插件,以擴(kuò)展其功能,包括對(duì)不同語言的支持、與多種版本控制系統(tǒng)和bug數(shù)據(jù)庫(kù)的集成、構(gòu)建工具的支持、外觀的改變、新功能的添加、單元測(cè)試和自動(dòng)化測(cè)試的支持。
安全性
Jenkins的安全性包括訪問控制和對(duì)外部威脅的保護(hù)。訪問控制通過用戶認(rèn)證和授權(quán)進(jìn)行定制,同時(shí)支持對(duì)抗外部威脅,如CSRF攻擊和惡意構(gòu)建。
獎(jiǎng)項(xiàng)和認(rèn)可
Jenkins獲得了多個(gè)獎(jiǎng)項(xiàng),包括2011年的InfoWorld Bossie獎(jiǎng)和2014年的Geek Choice獎(jiǎng),這些都證明了其在持續(xù)集成領(lǐng)域的領(lǐng)導(dǎo)地位和社區(qū)的認(rèn)可。
參考資料 >