要早集成、常集成。早集成、頻繁的集成能夠幫助項(xiàng)目開(kāi)發(fā)者在早期發(fā)現(xiàn)項(xiàng)目風(fēng)險(xiǎn)和質(zhì)量問(wèn)題,越到后期發(fā)現(xiàn)的問(wèn)題,解決的成本越高,從而有可能導(dǎo)致項(xiàng)目延期或者項(xiàng)目失敗。"/>
更新時(shí)間:2018年04月06日15時(shí)36分 來(lái)源:傳智播客 瀏覽次數(shù):
持續(xù)集成
持續(xù)集成(Continuous integration,簡(jiǎn)稱 CI),隨著近幾年的發(fā)展,持續(xù)集成在項(xiàng)目中得到了廣泛的推廣和應(yīng)用。本章將帶領(lǐng)讀者一起了解持續(xù)集成工具 Jenkins 的安裝與使用。
1.什么是持續(xù)集成?
軟件集成就是用一種較好的方式,使多種軟件的功能集成到一個(gè)軟件里,或是把軟件的各部分組合在一起。如果項(xiàng)目開(kāi)發(fā)的規(guī)模較小,且對(duì)外部系統(tǒng)的依賴很小,那么軟件集成不是問(wèn)題,例如一個(gè)人的項(xiàng)目。但是隨著軟件項(xiàng)目復(fù)雜度的增加,會(huì)對(duì)集成和確保軟件組件能夠在一起工作提出了更多的要求–>要早集成、常集成。早集成、頻繁的集成能夠幫助項(xiàng)目開(kāi)發(fā)者在早期發(fā)現(xiàn)項(xiàng)目風(fēng)險(xiǎn)和質(zhì)量問(wèn)題,越到后期發(fā)現(xiàn)的問(wèn)題,解決的成本越高,從而有可能導(dǎo)致項(xiàng)目延期或者項(xiàng)目失敗。
2.定義
大師 Martin Fowler 對(duì)持續(xù)集成是這樣定義的:持續(xù)集成是一種軟件開(kāi)發(fā)實(shí)踐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成他們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯、發(fā)布、自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過(guò)程可以大大減少集成的問(wèn)題,讓團(tuán)隊(duì)能夠更快地開(kāi)發(fā)內(nèi)聚的軟件。
Jenkins介紹
Jenkins 官方網(wǎng)站:https://jenkins.io/
提到 Jenkins 就不得不提另一個(gè)持續(xù)集成工具——Hudson , Hudson 由 Sun 公司開(kāi)發(fā),2010 年 Sun 公司被 Oracle 公司收購(gòu), oracle 公司聲稱對(duì) hudson 擁有商標(biāo)所有權(quán)。 Jenkins是從 Hudson 中分離出來(lái)的一個(gè)版本,并將繼續(xù)走 Open Source 的道路。二者現(xiàn)在由不同的團(tuán)隊(duì)在維護(hù)。
Jenkins 主要用于監(jiān)視執(zhí)行重復(fù)工作,如建立一個(gè)軟件項(xiàng)目或工作運(yùn)行的計(jì)劃任務(wù)。當(dāng)前 Jenkins 關(guān)注以下兩個(gè)工作。
不斷地進(jìn)行項(xiàng)目的構(gòu)建/測(cè)試軟件: 就像 CruiseControl 或 DamageControl。概括地說(shuō),Jenkins 提供了一個(gè)易于使用的所謂的持續(xù)集成系統(tǒng),使開(kāi)發(fā)人員更容易修改整合到項(xiàng)目中,并使它更容易為用戶獲得一個(gè)新的版本。自動(dòng)連續(xù)生成提高了生產(chǎn)效率。
監(jiān)控外部運(yùn)行的作業(yè): 如計(jì)劃任務(wù)作業(yè)和 Qrocmail 的工作,即使是那些在遠(yuǎn)程機(jī)器上運(yùn)行的計(jì)劃任務(wù)。 Jenkins 生成這些日志并且很容易讓你注意到錯(cuò)誤的出現(xiàn)。
Jenkins 環(huán)境搭建
1安裝JDK。Jenkins 是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,所以,Jenkins需要Java環(huán)境。
2安裝Tomcat。Tomcat是針對(duì)Java的一個(gè)開(kāi)源中間件服務(wù)器(容器),基于Java Web的項(xiàng)目需要借助Tomcat 才能運(yùn)行起來(lái)。
1)Tomcat官方網(wǎng)站:http://tomcat.apache.org/ ,打開(kāi)后首頁(yè)如圖所示
2)單擊頁(yè)面左側(cè)Tomcat 版本進(jìn)行下載,對(duì)下載的壓縮包進(jìn)行解壓,目錄結(jié)構(gòu)如圖所示。
webapps目錄用于web項(xiàng)目 通常將需要運(yùn)行的應(yīng)用放到webapps/目錄下,進(jìn)入bin/目錄下,雙擊startup.bat,啟動(dòng)Tomcat服務(wù)器。
3 安裝Jenkins。Jenkins官方網(wǎng)站:https://jenkins.io/ ,打開(kāi)后首頁(yè)如圖所示。
點(diǎn)擊“Download” 鏈接進(jìn)入下載頁(yè)面,根據(jù)自己的系統(tǒng)選擇對(duì)應(yīng)的 Jenkins 版本進(jìn)行下載。
下載完成,雙擊進(jìn)行安裝,如圖所示。
單擊“next”按鈕,我們直接將其安裝到Tomcat的 webapps 目錄下,如圖所示。一定要選擇TomCat 的 webapps 目錄。
配置Jenkins
Jenkins 安裝完成會(huì)自動(dòng)啟動(dòng) Tomcat , 并通過(guò)默認(rèn)瀏覽器打開(kāi):http://localhost:8080/。
(你也可以手動(dòng)進(jìn)Tomcat的bin/目錄下啟動(dòng)startup.bat ,通過(guò)瀏覽器訪問(wèn):http://localhost:8080/) 如圖所示。
根據(jù)提示,打開(kāi): D:\Java\apache-tomcat-9.0.0.M26\webapps\Jenkins\secrets\initialAdminPassword 文件查看密碼。將密碼填寫(xiě)到輸入框中,點(diǎn)擊 “Continue” 按鈕。接下來(lái)根據(jù)提示進(jìn)行安裝。
上圖,運(yùn)行需要一些時(shí)間,Jenkins 正在幫我們安裝各種主流插件。
最后一步配置,創(chuàng)建 管理員賬號(hào)。
整個(gè) Jenkins 安裝配置完成。操作界面如下。
北京校區(qū)