




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、持續(xù)集成環(huán)境搭建一、 簡介持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成它們的工作,通過每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤,持續(xù)集成是個簡單重復勞動,人來操作費時費力,使用自動化構(gòu)建工具完成是最好不過的了,本文檔采用的是Jenkins+Selenium+Sonar搭建持續(xù)集成環(huán)境,完成版本持續(xù)集成,自動化測試及代碼檢測分析的功能。二、 Jenkins部署1. Jenkins下載與安裝在最簡單的情況下,Jenkins 只需要兩個步驟:(1) 直接運行iar包下載最新的版本
2、(一個 WAR 文件),Jenkins官方網(wǎng)址: http:/J/運行 java -jar jenkins.war注意:Jenkins 需要運行 Java 5以及以上的版本(2) 將下載的war包文件部署到 web容器例如將jenkins.war部署到tomcat的webapps目錄下,然后啟動tomcat,在瀏覽器的URL地址欄中輸入類似http:/localhost:8080/jenkins/這樣的地址即可。將jenkins.war部署到tomcat的webapps
3、目錄下windows啟動:切換到tomcat的bin目錄,啟動startup.bat。Linux啟動:切換到tomcat的bin目錄,運行./catalina.sh start啟動,運行./catalina.sh stop關閉。2. 修改Jenkins啟動內(nèi)存打開startup.sh文件,在最上面加上export JAVA_OPTS="-XX:MaxPermSize=1024m -Xms1024m -Xmx3096m"。3. 訪問訪問地址為http:/ip:8080/jenkins,已在阿里云上部署,地址為::8180/jenkins/。4. 插件安裝(在系統(tǒng)管理-插件管理
4、,可選擇中搜索)1) 安裝Sonar插件,搜索SonarQube Plugin插件(代碼質(zhì)量分析),并勾選,點擊直接安裝即可。2) 安裝war部署容器插件,搜索Deploy to container Plugin插件,該插件支持部署到tomcat和jboss里面。3) 安裝Email插件,搜索Email Extension Plugin和Email Extension Template Plugin,支持郵件發(fā)送和郵件自定義內(nèi)容。5. 系統(tǒng)設置(在系統(tǒng)管理模塊)(1) 提示信息1) Utf-8編碼Jenkins建議在tomcat中使用utf-8編碼,配置tomcat下conf目錄的server
5、.xml文件2) 新的版本有需要的話點擊下載新的版本即可3) 安全設置允許網(wǎng)絡上的任何人代表您啟動進程。考慮至少啟用身份驗證來阻止濫用。點擊Dismiss忽略該消息,點擊Setup Security進入設置界面(2) 系統(tǒng)設置1) JDK配置JDK別名:給你看的,隨便你自己,叫阿貓阿狗都可以JAVA_HOME:這個是本機JDK的安裝路徑(錯誤的路徑會有紅字提示你的)自動安裝:不推薦這個選項后面Ant與Maven的配置是一樣的,JDK去oracle官網(wǎng)下載,Ant與Maven去apache官網(wǎng)下載Ps:每個文本框后面都有個問號,點擊問號就會出現(xiàn)幫助信息2) Maven配置MAVEN_H
6、OME是你本機的maven安裝路徑maven項目配置里需要填上你需要訪問的jenkins的地址和系統(tǒng)管理員郵箱的地址3) Ant配置4) 郵件通知配置Ps:這里系統(tǒng)管理員的郵件地址一定要配置,不然發(fā)郵件的時候會報錯5) SonarQube配置這里配置是的當構(gòu)建好項目時會將構(gòu)建好的項目發(fā)送到配置好的sonar服務器去進行代碼質(zhì)量檢測,需要填寫的是sonar服務器的地址,數(shù)據(jù)庫地址還有用戶名和密碼三、 Sonar部署1. Sonarqube簡介Sonar是一個用于代碼質(zhì)量管理的開源平臺,用于管理源代碼的質(zhì)量,可以從七個維度檢測代碼質(zhì)量通過插件形式,可以支持包括java,C#,C/C+,PL/SQL
7、,Cobol,JavaScrip,Groovy等等二十幾種編程語言的代碼質(zhì)量管理與檢測Sonarqube能帶來什么?1).糟糕的復雜度分布文件、類、方法等,如果復雜度過高將難以改變,這會使得開發(fā)人員難以理解它們,且如果沒有自動化的單元測試,對于程序中的任何組件的改變都將可能導致需要全面的回歸測試2).重復顯然程序中包含大量復制粘貼的代碼是質(zhì)量低下的, sonar可以展示源碼中重復嚴重的地方3).缺乏單元測試sonar可以很方便地統(tǒng)計并展示單元測試覆蓋率4).沒有代碼標準sonar可以通過PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測工具規(guī)范代碼編寫5).沒有足夠的或者過多的注釋
8、沒有注釋將使代碼可讀性變差,特別是當不可避免地出現(xiàn)人員變動時,程序的可讀性將大幅下降, 而過多的注釋又會使得開發(fā)人員將精力過多地花費在閱讀注釋上,亦違背初衷6).潛在的bugsonar可以通過PMD,CheckStyle,Findbugs等等代碼規(guī)則檢測工具檢測出潛在的bug7).糟糕的設計通過sonar可以找出循環(huán),展示包與包、類與類之間的相互依賴關系, 可以檢測自定義的架構(gòu)規(guī)則, 通過sonar可以管理第三方的jar包, 可以利用LCOM4檢測單個任務規(guī)則的應用情況檢測耦合2. 下載從Sonar官網(wǎng)下載SonarQube包,地址/downloa
9、ds/,目前最新版本是SonarQube 5.1.2。從/display/PLUG/Plugin+Library下載漢化包。3. 安裝部署Sonar1) 預置條件已安裝JAVA環(huán)境;已安裝有MySQL數(shù)據(jù)庫2) 解壓sonarqube-5.1.2.zip3) 修改配置文件打開perties打開連接數(shù)據(jù)庫的用戶名和密碼打開數(shù)據(jù)庫的地址和驅(qū)動4) 創(chuàng)建數(shù)據(jù)庫在mysql數(shù)據(jù)庫中新建名稱為sonar的數(shù)據(jù)庫,并新建一個用戶,sonar/sonar,然后將sonar數(shù)據(jù)庫的所有權(quán)限賦給sonar用戶
10、5) 漢化插件將漢化包sonar-l10n-zh-plugin-1.9.jar放到sonarqube-5.1.2extensionsplugins目錄下。4. 啟動Sonar(1) 、windows啟動,直接進入sonarqube-5.1.2binwindows-x86-32|64目錄,運行StartSonar.bat,這樣sonar就可以啟動成功了,注意事項:sonarqube-5.1.2在Windows放置的路徑不要包含中文字符,否則啟動有問題,且5.1.2版本只支持JDK1.7及以上的版本。(2) 、linux啟動,進入sonarqube-5.1.2binlinux-x86-32|64目
11、錄,運行./sonar.sh start可以啟動,運行./sonar.sh stop可以停止。注意事項:在運行前,linux環(huán)境java變量必須是1.7以上,且需要先執(zhí)行chmod u+x *.sh,chmod u+x wrapper.conf5. 訪問Sonar訪問地址為http:/ip:9000即可訪問,默認端口是9000,已在阿里云上面部署過Sonar,地址為:9000/。備注:本地已配置好,見當前目錄中的 持續(xù)集成相關發(fā)布包sonar.zip,解壓之后即可正常使用。四、 項目構(gòu)建(jenkins+maven+svn+sonar)在jenkins上你可以配置maven項目也可以配置任意的
12、項目1) 填寫項目名稱2) 配置源代碼管理在這里可以配置svn或者cvs等等源碼管理,配置好地址之后jenkins就會從相應的源碼路徑拷貝出項目并進行編譯構(gòu)建的過程演示是使用Subversion的鏈接,在Repository URL中輸入你的項目鏈接,如果沒有權(quán)限則會提示如下圖,可以去配置svn用戶名和密碼3) 配置構(gòu)建觸發(fā)器(表示5分鐘掃描一次,如SVN有更新,則重新構(gòu)建)在其他項目構(gòu)建完成后才執(zhí)行構(gòu)建:指定的項目完成構(gòu)建后,觸發(fā)此項目的構(gòu)建。Poll SCM :這是CI 系統(tǒng)中常見的選項。當您選擇此選項,您可以指定一個定時作業(yè)表達式來定義Jenkin
13、s每隔多久檢查一下您源代碼倉庫的變化。如果發(fā)現(xiàn)變化,就執(zhí)行一次構(gòu)建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構(gòu)建,而不管SCM是否有變化。如果想在這個Job中運行一些測試用例的話,它就很有幫助。4) 配置Maven構(gòu)建文件及命令(maven項目才需要配置)5) 配置失敗郵件配置6) 配置構(gòu)建后SonarQube代碼分析在這里配置就是將你構(gòu)建好的項目發(fā)送到sonarqube服務
14、器上7) 遠程部署配置,其中WAR/EAR files為要部署的war包,Context path為部署到tomcat容器中的war的名稱,即部署的war為jenkinstest.war,Manager user name和Manager password為tomcat-user.xml中配置的用戶,tomcat url為tomcat訪問地址。8) 配置構(gòu)建后郵件發(fā)送功能(成功或失敗時的郵件接收人),多個接收人用,號隔開。五、 Jekins與Selenium結(jié)合可以選擇安裝火狐插件,在啟動插件后錄制網(wǎng)頁六、 Jenkins和Ant的結(jié)合1. Ant簡介首先Apache Ant,是一個將軟件編譯
15、、測試、部署等步驟聯(lián)系在一起加以自動化的一個工具,我們從最基礎的例子說起,我們用一個記事本編寫一個最簡單的java文件,然后在命令行中可以通過javac這個命令將.java的文件編譯成.class的文件,其實使用ant所做的操作和使用命令行的操作是一樣的,只不過它將各種命令轉(zhuǎn)化為xml標簽,所有使用ant的時候必須有以下兩點:一個是使用ant 編譯工程,必須有一個xml文件,默認build.xml,第二個就是每個build文件配置一個default target,執(zhí)行ant命令會執(zhí)行這個target,在build.xml中允許存在多個target標簽, 每個target是一個操作,clean是
16、刪除build目錄,compile是編譯,run是執(zhí)行java class,所以當使用ant編譯工程時可以根據(jù)需求編寫build.xml;(還可以使用eclipse生成build.xml,步驟是右鍵. Export-> General -> Ant Buildfiles .點Next,選擇項目,再點Finish.)2. 創(chuàng)建項目在eclipse中創(chuàng)建一個簡單的測試ant的項目,并編寫好build.xml文件放在項目根目錄下,并將項目提交到svn中3. Jenkins構(gòu)建首先創(chuàng)建一個自由風格的項目,在項目配置中有兩種構(gòu)建方法,前提是我們已經(jīng)下載好antI、選擇Execute Windows batch command,在輸入框輸入如下命令set path=C:ANT_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介育兒嫂合同范例
- 別墅代理銷售合同范例
- 上市合同范例
- 印刷標牌制作合同范例
- 反擔保保證合同范例
- 包公樓裝修合同范例
- 何為銷售合同范例
- 醫(yī)藥營銷策劃合同范例
- 6人合伙合同范例
- 制衣廠勞動合同范例
- 五、董仲舒思想
- 失血性休克應急預案及處理流程
- 邊坡被動防護網(wǎng)的施工細則
- 少兒繪畫之《春江水暖鴨先知》
- 2022中醫(yī)醫(yī)院章程(完整版)
- 2020 ACLS-PC-SA課前自我測試試題及答案
- QGDW 1168-2013 輸變電設備狀態(tài)檢修試驗規(guī)程(高清版)
- 10000中國普通人名大全
- 第二代身份證號碼驗證器
- 市場調(diào)查與預測復習資料
- GB_T 229-2020 金屬材料夏比擺錘沖擊試驗方法
評論
0/150
提交評論