Jenkins-持續(xù)集成環(huán)境搭建_第1頁(yè)
Jenkins-持續(xù)集成環(huán)境搭建_第2頁(yè)
Jenkins-持續(xù)集成環(huán)境搭建_第3頁(yè)
Jenkins-持續(xù)集成環(huán)境搭建_第4頁(yè)
Jenkins-持續(xù)集成環(huán)境搭建_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、持續(xù)集成環(huán)境搭建一、 簡(jiǎn)介持續(xù)集成是一種軟件開(kāi)發(fā)實(shí)踐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成它們的工作,通過(guò)每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡早地發(fā)現(xiàn)集成錯(cuò)誤,持續(xù)集成是個(gè)簡(jiǎn)單重復(fù)勞動(dòng),人來(lái)操作費(fèi)時(shí)費(fèi)力,使用自動(dòng)化構(gòu)建工具完成是最好不過(guò)的了,本文檔采用的是Jenkins+Selenium+Sonar搭建持續(xù)集成環(huán)境,完成版本持續(xù)集成,自動(dòng)化測(cè)試及代碼檢測(cè)分析的功能。二、 Jenkins部署1. Jenkins下載與安裝在最簡(jiǎn)單的情況下,Jenkins只需要兩個(gè)步驟:(1) 直接運(yùn)行iar包下載最新的版本(一個(gè)WAR

2、文件),Jenkins官方網(wǎng)址:http:/J/運(yùn)行java-jarjenkins.war注意:Jenkins需要運(yùn)行Java5以及以上的版本(2) 將下載的war包文件部署到web容器例如將jenkins.war部署到tomcat的webapps目錄下,然后啟動(dòng)tomcat,在瀏覽器的URL地址欄中輸入類(lèi)似http:/localhost:8080/jenkins/這樣的地址即可。將jenkins.war部署到tomcat的webapps目錄下windows啟動(dòng):切換到tomcat的bin目錄,啟動(dòng)startup.bat。Linux啟動(dòng):切換到tomcat的bin目錄

3、,運(yùn)行./catalina.sh start啟動(dòng),運(yùn)行./catalina.sh stop關(guān)閉。2. 修改Jenkins啟動(dòng)內(nèi)存打開(kāi)startup.sh文件,在最上面加上export JAVA_OPTS=-XX:MaxPermSize=1024m -Xms1024m -Xmx3096m。3. 訪問(wèn)訪問(wèn)地址為http:/ip:8080/jenkins,已在阿里云上部署,地址為::8180/jenkins/。4. 插件安裝(在系統(tǒng)管理-插件管理,可選擇中搜索)1) 安裝Sonar插件,搜索SonarQube Plugin插件(代碼質(zhì)量分析),并勾選,點(diǎn)擊直接安裝即可。2) 安裝war部署容器插件,

4、搜索Deploy to container Plugin插件,該插件支持部署到tomcat和jboss里面。3) 安裝Email插件,搜索Email Extension Plugin和Email Extension Template Plugin,支持郵件發(fā)送和郵件自定義內(nèi)容。5. 系統(tǒng)設(shè)置(在系統(tǒng)管理模塊)(1) 提示信息1) Utf-8編碼Jenkins建議在tomcat中使用utf-8編碼,配置tomcat下conf目錄的server.xml文件2) 新的版本有需要的話點(diǎn)擊下載新的版本即可3) 安全設(shè)置允許網(wǎng)絡(luò)上的任何人代表您啟動(dòng)進(jìn)程??紤]至少啟用身份驗(yàn)證來(lái)阻止濫用。點(diǎn)擊Dismiss忽

5、略該消息,點(diǎn)擊SetupSecurity進(jìn)入設(shè)置界面(2) 系統(tǒng)設(shè)置1) JDK配置JDK別名:給你看的,隨便你自己,叫阿貓阿狗都可以JAVA_HOME:這個(gè)是本機(jī)JDK的安裝路徑(錯(cuò)誤的路徑會(huì)有紅字提示你的)自動(dòng)安裝:不推薦這個(gè)選項(xiàng)后面Ant與Maven的配置是一樣的,JDK去oracle官網(wǎng)下載,Ant與Maven去apache官網(wǎng)下載Ps:每個(gè)文本框后面都有個(gè)問(wèn)號(hào),點(diǎn)擊問(wèn)號(hào)就會(huì)出現(xiàn)幫助信息2) Maven配置MAVEN_HOME是你本機(jī)的maven安裝路徑maven項(xiàng)目配置里需要填上你需要訪問(wèn)的jenkins的地址和系統(tǒng)管理員郵箱的地址3) Ant配置4) 郵件通知配置Ps:這里系統(tǒng)管理

6、員的郵件地址一定要配置,不然發(fā)郵件的時(shí)候會(huì)報(bào)錯(cuò)5) SonarQube配置這里配置是的當(dāng)構(gòu)建好項(xiàng)目時(shí)會(huì)將構(gòu)建好的項(xiàng)目發(fā)送到配置好的sonar服務(wù)器去進(jìn)行代碼質(zhì)量檢測(cè),需要填寫(xiě)的是sonar服務(wù)器的地址,數(shù)據(jù)庫(kù)地址還有用戶(hù)名和密碼三、 Sonar部署1. Sonarqube簡(jiǎn)介Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)源平臺(tái),用于管理源代碼的質(zhì)量,可以從七個(gè)維度檢測(cè)代碼質(zhì)量通過(guò)插件形式,可以支持包括java,C#,C/C+,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語(yǔ)言的代碼質(zhì)量管理與檢測(cè)Sonarqube能帶來(lái)什么?1).糟糕的復(fù)雜度分布文件、類(lèi)、方法等,如果復(fù)雜度過(guò)

7、高將難以改變,這會(huì)使得開(kāi)發(fā)人員難以理解它們,且如果沒(méi)有自動(dòng)化的單元測(cè)試,對(duì)于程序中的任何組件的改變都將可能導(dǎo)致需要全面的回歸測(cè)試2).重復(fù)顯然程序中包含大量復(fù)制粘貼的代碼是質(zhì)量低下的, sonar可以展示源碼中重復(fù)嚴(yán)重的地方3).缺乏單元測(cè)試sonar可以很方便地統(tǒng)計(jì)并展示單元測(cè)試覆蓋率4).沒(méi)有代碼標(biāo)準(zhǔn)sonar可以通過(guò)PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測(cè)工具規(guī)范代碼編寫(xiě)5).沒(méi)有足夠的或者過(guò)多的注釋沒(méi)有注釋將使代碼可讀性變差,特別是當(dāng)不可避免地出現(xiàn)人員變動(dòng)時(shí),程序的可讀性將大幅下降, 而過(guò)多的注釋又會(huì)使得開(kāi)發(fā)人員將精力過(guò)多地花費(fèi)在閱讀注釋上,亦違背初衷6).潛在的

8、bugsonar可以通過(guò)PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測(cè)工具檢測(cè)出潛在的bug7).糟糕的設(shè)計(jì)通過(guò)sonar可以找出循環(huán),展示包與包、類(lèi)與類(lèi)之間的相互依賴(lài)關(guān)系, 可以檢測(cè)自定義的架構(gòu)規(guī)則, 通過(guò)sonar可以管理第三方的jar包, 可以利用LCOM4檢測(cè)單個(gè)任務(wù)規(guī)則的應(yīng)用情況檢測(cè)耦合2. 下載從Sonar官網(wǎng)下載SonarQube包,地址/downloads/,目前最新版本是SonarQube 5.1.2。從/display/PLUG/Plugin+Library下載漢化

9、包。3. 安裝部署Sonar1) 預(yù)置條件已安裝JAVA環(huán)境;已安裝有MySQL數(shù)據(jù)庫(kù)2) 解壓sonarqube-5.1.2.zip3) 修改配置文件打開(kāi)perties打開(kāi)連接數(shù)據(jù)庫(kù)的用戶(hù)名和密碼打開(kāi)數(shù)據(jù)庫(kù)的地址和驅(qū)動(dòng)4) 創(chuàng)建數(shù)據(jù)庫(kù)在mysql數(shù)據(jù)庫(kù)中新建名稱(chēng)為sonar的數(shù)據(jù)庫(kù),并新建一個(gè)用戶(hù),sonar/sonar,然后將sonar數(shù)據(jù)庫(kù)的所有權(quán)限賦給sonar用戶(hù)5) 漢化插件將漢化包sonar-l10n-zh-plugin-1.9.jar放到sonarqube-5.1.2extensionsplugins目錄下。4. 啟動(dòng)So

10、nar(1) 、windows啟動(dòng),直接進(jìn)入sonarqube-5.1.2binwindows-x86-32|64目錄,運(yùn)行StartSonar.bat,這樣sonar就可以啟動(dòng)成功了,注意事項(xiàng):sonarqube-5.1.2在Windows放置的路徑不要包含中文字符,否則啟動(dòng)有問(wèn)題,且5.1.2版本只支持JDK1.7及以上的版本。(2) 、linux啟動(dòng),進(jìn)入sonarqube-5.1.2binlinux-x86-32|64目錄,運(yùn)行./sonar.sh start可以啟動(dòng),運(yùn)行./sonar.sh stop可以停止。注意事項(xiàng):在運(yùn)行前,linux環(huán)境java變量必須是1.7以上,且需要先執(zhí)

11、行chmod u+x *.sh,chmod u+x wrapper.conf5. 訪問(wèn)Sonar訪問(wèn)地址為http:/ip:9000即可訪問(wèn),默認(rèn)端口是9000,已在阿里云上面部署過(guò)Sonar,地址為:9000/。備注:本地已配置好,見(jiàn)當(dāng)前目錄中的 持續(xù)集成相關(guān)發(fā)布包sonar.zip,解壓之后即可正常使用。四、 項(xiàng)目構(gòu)建(jenkins+maven+svn+sonar)在jenkins上你可以配置maven項(xiàng)目也可以配置任意的項(xiàng)目1) 填寫(xiě)項(xiàng)目名稱(chēng)2) 配置源代碼管理在這里可以配置svn或者cvs等等源碼管理,配置好地址之后jenkins就會(huì)從相應(yīng)的源碼路徑拷貝出項(xiàng)目并進(jìn)行編譯構(gòu)建的過(guò)程演示

12、是使用Subversion的鏈接,在RepositoryURL中輸入你的項(xiàng)目鏈接,如果沒(méi)有權(quán)限則會(huì)提示如下圖,可以去配置svn用戶(hù)名和密碼3) 配置構(gòu)建觸發(fā)器(表示5分鐘掃描一次,如SVN有更新,則重新構(gòu)建)在其他項(xiàng)目構(gòu)建完成后才執(zhí)行構(gòu)建:指定的項(xiàng)目完成構(gòu)建后,觸發(fā)此項(xiàng)目的構(gòu)建。PollSCM:這是CI系統(tǒng)中常見(jiàn)的選項(xiàng)。當(dāng)您選擇此選項(xiàng),您可以指定一個(gè)定時(shí)作業(yè)表達(dá)式來(lái)定義Jenkins每隔多久檢查一下您源代碼倉(cāng)庫(kù)的變化。如果發(fā)現(xiàn)變化,就執(zhí)行一次構(gòu)建。例如,表達(dá)式中填寫(xiě)0,15,30,45*將使Jenkins每隔15分鐘就檢查一次您源碼倉(cāng)庫(kù)的變化。Buildperiodically:此選項(xiàng)僅僅通知

13、Jenkins按指定的頻率對(duì)項(xiàng)目進(jìn)行構(gòu)建,而不管SCM是否有變化。如果想在這個(gè)Job中運(yùn)行一些測(cè)試用例的話,它就很有幫助。4) 配置Maven構(gòu)建文件及命令(maven項(xiàng)目才需要配置)5) 配置失敗郵件配置6) 配置構(gòu)建后SonarQube代碼分析在這里配置就是將你構(gòu)建好的項(xiàng)目發(fā)送到sonarqube服務(wù)器上7) 遠(yuǎn)程部署配置,其中WAR/EAR files為要部署的war包,Context path為部署到tomcat容器中的war的名稱(chēng),即部署的war為jenkinstest.war,Manager user name和Manager password為tomcat-user.xml中配置

14、的用戶(hù),tomcat url為tomcat訪問(wèn)地址。8) 配置構(gòu)建后郵件發(fā)送功能(成功或失敗時(shí)的郵件接收人),多個(gè)接收人用,號(hào)隔開(kāi)。五、 Jekins與Selenium結(jié)合可以選擇安裝火狐插件,在啟動(dòng)插件后錄制網(wǎng)頁(yè)六、 Jenkins和Ant的結(jié)合1. Ant簡(jiǎn)介首先Apache Ant,是一個(gè)將軟件編譯、測(cè)試、部署等步驟聯(lián)系在一起加以自動(dòng)化的一個(gè)工具,我們從最基礎(chǔ)的例子說(shuō)起,我們用一個(gè)記事本編寫(xiě)一個(gè)最簡(jiǎn)單的java文件,然后在命令行中可以通過(guò)javac這個(gè)命令將.java的文件編譯成.class的文件,其實(shí)使用ant所做的操作和使用命令行的操作是一樣的,只不過(guò)它將各種命令轉(zhuǎn)化為xml標(biāo)簽,所

15、有使用ant的時(shí)候必須有以下兩點(diǎn):一個(gè)是使用ant 編譯工程,必須有一個(gè)xml文件,默認(rèn)build.xml,第二個(gè)就是每個(gè)build文件配置一個(gè)default target,執(zhí)行ant命令會(huì)執(zhí)行這個(gè)target,在build.xml中允許存在多個(gè)target標(biāo)簽, 每個(gè)target是一個(gè)操作,clean是刪除build目錄,compile是編譯,run是執(zhí)行java class,所以當(dāng)使用ant編譯工程時(shí)可以根據(jù)需求編寫(xiě)build.xml;(還可以使用eclipse生成build.xml,步驟是右鍵. Export- General - Ant Buildfiles .點(diǎn)Next,選擇項(xiàng)目,再點(diǎn)Finish.)2. 創(chuàng)建項(xiàng)目在eclipse中創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試ant的項(xiàng)目,并編寫(xiě)好build.xml文件放在項(xiàng)目根目錄下,并將項(xiàng)目提交到svn中3. Jenkins構(gòu)建首先創(chuàng)建一個(gè)自由風(fēng)格的項(xiàng)目,在項(xiàng)目配置中有兩種構(gòu)建方法,前提是我們已經(jīng)下載好antI、選擇Execute Windows batch command,在輸入框輸入如下命令set path=C:ANT_HOMEApa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論