Jenkins自動(dòng)化集成操作指南_第1頁(yè)
Jenkins自動(dòng)化集成操作指南_第2頁(yè)
Jenkins自動(dòng)化集成操作指南_第3頁(yè)
Jenkins自動(dòng)化集成操作指南_第4頁(yè)
Jenkins自動(dòng)化集成操作指南_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Jenkins自動(dòng)化集成操作指南概述Jenkins

是一個(gè)可擴(kuò)展的持續(xù)集成引擎。主要用于:持續(xù)、自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目。監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。Jenkins擁有的特性包括:易于安裝-只要把jenkins.war部署到servlet容器,不需要數(shù)據(jù)庫(kù)支持。易于配置-所有配置都是通過(guò)其提供的web界面實(shí)現(xiàn)。集成RSS/E-mail通過(guò)RSS發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時(shí)通過(guò)e-mail通知。生成JUnit/TestNG測(cè)試報(bào)告。分布式構(gòu)建支持Jenkins能夠讓多臺(tái)計(jì)算機(jī)一起構(gòu)建/測(cè)試。文件識(shí)別:Jenkins能夠跟蹤哪次構(gòu)建生成哪些jar,哪次構(gòu)建使用哪個(gè)版本的jar等。插件支持:支持?jǐn)U展插件,你可以開(kāi)發(fā)適合自己團(tuán)隊(duì)使用的工具。部署一個(gè)CI系統(tǒng)需要的最低要求是,一個(gè)可獲取的源代碼的倉(cāng)庫(kù),一個(gè)包含構(gòu)建腳本的項(xiàng)目。CI系統(tǒng)的基本機(jī)構(gòu):該系統(tǒng)的各個(gè)組成部分是按如下順序來(lái)發(fā)揮作用的:1.

開(kāi)發(fā)者檢入代碼到源代碼倉(cāng)庫(kù)。2.

CI系統(tǒng)會(huì)為每一個(gè)項(xiàng)目創(chuàng)建了一個(gè)單獨(dú)的工作區(qū)。當(dāng)預(yù)設(shè)或請(qǐng)求一次新的構(gòu)建時(shí),它將把源代碼倉(cāng)庫(kù)的源碼存放到對(duì)應(yīng)的工作區(qū)。3.

CI系統(tǒng)會(huì)在對(duì)應(yīng)的工作區(qū)內(nèi)執(zhí)行構(gòu)建過(guò)程。4.

(任務(wù)配置項(xiàng)如果存在)構(gòu)建完成后,CI系統(tǒng)會(huì)在一個(gè)新的構(gòu)件中執(zhí)行定義的一套測(cè)試。完成后觸發(fā)通知(Email,RSS等等)給相關(guān)的當(dāng)事人。5.

(任務(wù)配置項(xiàng)配置如果存在)如果構(gòu)建成功,這個(gè)構(gòu)件會(huì)被打包并轉(zhuǎn)移到一個(gè)部署目標(biāo)(如應(yīng)用服務(wù)器)或存儲(chǔ)為軟件倉(cāng)庫(kù)中的一個(gè)新版本。軟件倉(cāng)庫(kù)可以是CI系統(tǒng)的一部分,也可以是一個(gè)外部的倉(cāng)庫(kù),諸如一個(gè)文件服務(wù)器或者像J、

SourceForge之類的網(wǎng)站。6.

CI系統(tǒng)通常會(huì)根據(jù)請(qǐng)求發(fā)起相應(yīng)的操作,諸如即時(shí)構(gòu)建、生成報(bào)告,或者檢索一些構(gòu)建好的構(gòu)件。Eclipse中TFS插件首先下載TFS插件:下載地址是:/zh-CN/download/details.aspx?id=40785點(diǎn)擊Eclispe\Help\InstallnewSofeware的菜單,添加下載倉(cāng)庫(kù),選擇下載好的插件進(jìn)行安裝:接下來(lái)就可以很順暢的點(diǎn)下一步了,安裝完之后重啟Eclipse。重啟后的Eclipse,在Windows->Preferences->Team里,你就可以看到TeamFundationServer這一項(xiàng)了。打開(kāi)showviews,在Windows->ShowView->Others里。彈出如下窗口,選擇TeamFundationServer下的TeamExplorer。打開(kāi)如下圖所示的視圖,然后點(diǎn)擊新建連接按鈕,添加服務(wù)器地址,選擇自己的項(xiàng)目。步驟如下圖所示:Maven插件CheckStyle代碼風(fēng)格檢查插件在maven中一個(gè)名為maven-checkstyle-plugin的插件,用于執(zhí)行CheckStyletask。下面是一個(gè)簡(jiǎn)單的配置。我們定義了在mavenlifecycle的validate階段執(zhí)行checktask,并且如果發(fā)現(xiàn)有違反標(biāo)準(zhǔn)的情況就會(huì)fail當(dāng)前的build。maven-checkstyle-plugin內(nèi)置了4種規(guī)范.config/sun_checks.xmlconfig/maven_checks.xmlconfig/turbine_checks.xmlconfig/avalon_checks.xml其中sun_checks.xml為默認(rèn)值。如果想要使用其他三種規(guī)范,則只需配置configuration。我們可以使用默認(rèn)的規(guī)范文件,當(dāng)然也支持自定義。如果想啟用自定義的規(guī)范文件,則依舊是修改configuration,指向你的文件地址。checkstyle的詳細(xì)結(jié)果信息被存放在target/checkstyle-result.xml中。跳過(guò)對(duì)指定文件的某些檢查如果對(duì)于指定文件檢查出了一些問(wèn)題,但是你想忽略它,則可以使用suppression。方法是建立一個(gè)checkstyle-suppressions.xml文件。其中加入下述內(nèi)容<?xmlversion="1.0"?><!DOCTYPEsuppressionsPUBLIC"-//PuppyCrawl//DTDSuppressions1.0//EN""/dtds/suppressions_1_0.dtd"><suppressions><suppresschecks="LineLengthCheck"files="SessionMessageSource.java"/></suppressions>然后配置maven-checkstyel-plugin設(shè)置suppressionsLocation。<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>2.13</version><configuration><configLocation>${basedir}/src/config/custom_checkstyle.xml</configLocation><suppressionsLocation>${basedir}/src/config/checkstyle-suppressions.xml</suppressionsLocation></configuration><executions><execution><id>checkstyle</id><phase>validate</phase><goals><goal>check</goal></goals><configuration><failOnViolation>true</failOnViolation></configuration></execution></executions></plugin>FindBugs靜態(tài)分析插件在maven中一個(gè)名為findbugs-maven-plugin的插件,用于執(zhí)行packagetask。下面是一個(gè)簡(jiǎn)單的配置??梢蕴砑觙indbugs檢查規(guī)則文件來(lái)使用用戶自己的規(guī)則:<configuration><excludeFilterFile>findbugs-exclude.xml</excludeFilterFile><includeFilterFile>findbugs-include.xml</includeFilterFile></configuration>emma用于檢測(cè)和報(bào)告JAVA代碼覆蓋率插件EMMA是一個(gè)開(kāi)源、面向Java程序測(cè)試覆蓋率收集和報(bào)告工具。它通過(guò)對(duì)編譯后的Java字節(jié)碼文件進(jìn)行插裝,在測(cè)試執(zhí)行過(guò)程中收集覆蓋率信息,并通過(guò)支持多種報(bào)表格式對(duì)覆蓋率結(jié)果進(jìn)行展示。EMMA所使用的字節(jié)碼插裝不僅保證EMMA不會(huì)給源代碼帶來(lái)“臟代碼”,還確保EMMA擺脫了源代碼的束縛,這一特點(diǎn)使EMMA應(yīng)用于功能測(cè)試成為了可能。在Maven中的使用:直接運(yùn)行mvnemma:emma,即可。maven集成emma,需要兩個(gè)插件,maven-surefire-plugin和emma-maven-plugin,如果之前沒(méi)有安裝,那么maven會(huì)自動(dòng)下載這兩個(gè)插件。emma依賴于surefire的配置,默認(rèn)執(zhí)行src/test/java的junit測(cè)試。Jenkins安裝安裝有兩種方式:下載Jenkins安裝包安裝,安裝后自動(dòng)創(chuàng)建windows服務(wù),默認(rèn)使用的端口號(hào)是8080,如果需要修改,打開(kāi)安裝目錄下的jenkins.xml文件,修改<arguments>-Xrs-Xmx256m-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle-jar"%BASE%\jenkins.war"--httpPort=8081</arguments> 啟動(dòng)jenkins服務(wù),打開(kāi)http://localhost:8081/即可看到j(luò)enkins操作頁(yè)面。下載war包,宿主到web服務(wù)器,此指南選擇tomcat。從/pub/jenkins/war/1.590/jenkins.war下載war包,放到tomcat的webapps下,啟動(dòng)tomcat,然后運(yùn)行http://localhost:8080/jenkins。可以看到如下操作頁(yè)面:Jenkins配置Jenkins運(yùn)行路徑設(shè)置Jenkins運(yùn)行時(shí),需要有個(gè)運(yùn)行目錄,此處可以通過(guò)添加一個(gè)全局路徑JENKINS_HOME來(lái)修改Jenkins的運(yùn)行目錄,默認(rèn)的是“當(dāng)前用戶下\.jenkins”,設(shè)置Jenkins的運(yùn)行路徑(例如設(shè)置為D:\Jenkins)。Jenkins系統(tǒng)管理在Jenkins首頁(yè)面,左側(cè)菜單可以看到系統(tǒng)管理頁(yè)面。Jenkins系統(tǒng)設(shè)置進(jìn)入【系統(tǒng)管理\系統(tǒng)設(shè)置】,進(jìn)入Jenkins的系統(tǒng)配置頁(yè)面。此處可以默認(rèn)。設(shè)置jdk及maven如果本機(jī)沒(méi)有已經(jīng)安裝好,可以選擇自動(dòng)安裝。源代碼管理配置Jenkins默認(rèn)可以使用CVS,Subversion(SVN),如果想使用其他的源代碼管理配置,需要安裝其插件。本章使用TFS源代碼管理,所以需要安裝TFS的插件。插件安裝進(jìn)入【系統(tǒng)設(shè)置\插件管理】:添加、刪除、禁用或啟用Jenkins功能擴(kuò)展插件。在可選插件Tab頁(yè),找到tfs的插件,選中,然后點(diǎn)擊直接安裝按鈕下載安裝。安裝時(shí),可能會(huì)出現(xiàn)錯(cuò)誤提示,直接忽略即可。配置返回【系統(tǒng)管理\系統(tǒng)設(shè)置】,則就能看到TFS的設(shè)置段。找到本機(jī)tf.exe所在路徑,填寫(xiě)到上圖的tf輸入框。配置修改后,別忘了保存。郵件通知配置可以統(tǒng)一設(shè)置發(fā)送郵件的郵件地址,以及郵件通知相關(guān)的內(nèi)容。也可以安裝Email-extPlugin插件,進(jìn)行更復(fù)雜的郵件通知配置。下面即是安裝了Email-extPlugin插件后在系統(tǒng)設(shè)置中看到的配置內(nèi)容。發(fā)布配置如果想構(gòu)建完后發(fā)布到web服務(wù)器,則需要安裝Deploy插件,安裝方式和tfs一樣。(DeploytocontainerPlugin)權(quán)限設(shè)置首先安裝角色權(quán)限的插件:然后進(jìn)入【系統(tǒng)管理\ConfigureGlobalSecurity】可以進(jìn)行權(quán)限設(shè)置,選擇基于Role的權(quán)限配置。在【系統(tǒng)管理\管理用戶】中創(chuàng)建新的用戶,一定要配置好郵箱。在【系統(tǒng)管理\ManageandAssignRoles\ManageRoles】中創(chuàng)建新的角色,并分配權(quán)限:在【系統(tǒng)管理\ManageandAssignRoles\AssignRoles】中給角色分配用戶:這樣就完成基于角色的權(quán)限分配了。我們系統(tǒng)暫時(shí)定了三個(gè)角色:管理員,項(xiàng)目經(jīng)理,普通開(kāi)發(fā)人員管理員:擁有所有的權(quán)限項(xiàng)目經(jīng)理:可以創(chuàng)建修改運(yùn)行構(gòu)建計(jì)劃,查看構(gòu)建結(jié)果和報(bào)表開(kāi)發(fā)人員:可以查看構(gòu)建的結(jié)果和報(bào)表報(bào)表配置CheckStyle報(bào)表在[job\${Project}\配置\增加構(gòu)建后的步驟]中配置CheckStyle的結(jié)果文件:報(bào)表展示的樣子,其中[Configure]可以配置報(bào)表的樣子:FindBugs報(bào)表在[job\${Project}\配置\增加構(gòu)建后的步驟]中配置FindBugs的結(jié)果文件:報(bào)表展示的樣子,其中[Configure]可以配置報(bào)表的樣子:代碼覆蓋率報(bào)表在[job\${Project}\配置\增加構(gòu)建后的步驟]中配置Emma的結(jié)果文件:報(bào)表展示的樣子:報(bào)表展示的樣子:?jiǎn)卧獪y(cè)試結(jié)果報(bào)表在[job\${Project}\配置\增加構(gòu)建后的步驟]中配置JUnit的結(jié)果文件:報(bào)表展示的樣子,其中[Configure]可以配置報(bào)表的樣子:任務(wù)構(gòu)建任務(wù)創(chuàng)建點(diǎn)擊左側(cè)新建菜單,進(jìn)行新任務(wù)的創(chuàng)建。以自由風(fēng)格的構(gòu)建任務(wù)為例描述。maven項(xiàng)目的任務(wù)和自由風(fēng)格類型的類似,只有稍微差別。構(gòu)建時(shí)多了一個(gè)構(gòu)建前和構(gòu)建后的設(shè)置。構(gòu)建任務(wù)配置源代碼管理配置可以有多個(gè)源代碼管理選擇,此處選擇TFS源代碼管理。構(gòu)建觸發(fā)器觸發(fā)遠(yuǎn)程構(gòu)建(例如,使用腳本):Buildafterotherprojectsarebulit:指定的項(xiàng)目完成構(gòu)建后,觸發(fā)此項(xiàng)目的構(gòu)建。Build

periodically

:此選項(xiàng)僅僅通知Jenkins按指定的頻率對(duì)項(xiàng)目進(jìn)行構(gòu)建,而不管SCM是否有變化。如果想在這個(gè)Job中運(yùn)行一些測(cè)試用例的話,它就很有幫助。Poll

SCM

:這是CI

系統(tǒng)中常見(jiàn)的選項(xiàng)。當(dāng)您選擇此選項(xiàng),您可以指定一個(gè)定時(shí)作業(yè)表達(dá)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論