CI(Continuous Integration)持續集成


CI(Continuous Integration)持續集成,CD(Continuous Delivery) 持續交付

為什么做CI

1、分支偏離主干

2、未知項目進度

3、發現bug較晚

4、定位問題復雜

CI價值

1.二進制包准備降低風險:靜態代碼分析,盡早發現bug

2.自動化:自動化編譯、自動化測試、自動部署、自動審查、自動反饋

3.隨時發布

重點

為了提高代碼質量已經每次發布到beta環境服務的穩定性,要提高自動化測試覆蓋率(不僅限於接口自動化測試)

CI系統流程

流程圖如下:

CI詳細流程圖如下

代碼提交流程

自測環境發布流程

1、當git lab上有代碼向dev_test分支發起merge請求,觸發自測環境的jenkins sonar掃描;

2、sonar掃描--針對dev_test分支;

3、單元測試--針對dev_test分支;

4、構建自測環境,並運行自測環境--針對dev_test分支;

5、執行接口自動化測試;

6、接口自動化測試通過后,在自測環境中進行功能測試、新增接口測試,並將新增測試點新增到自動化測試案例庫中。

Beta環境發布流程(分支:dev)

1、當git lab上有代碼向dev分支發起merge請求,觸發jenkins sonar掃描;

2、sonar掃描--針對dev分支

3、單元測試--針對dev分支

4、構建自測環境,並運行自測環境--針對dev分支

5、執行接口自動化測試;

6、接口自動化測試通過后,將測試通過的dev分支發布並部署到beta環境。

流程觸發機制

1、使用gitlab webhooks

2、URL處輸入構建的url地址,需增加token信息;

http://jenkins.cn/view/decision/job/decision-sonar/build

3、Secret Token 輸入jenkins中需由gitlab merge請求觸發的工程中配置身份令牌

觸發機制配置merge請求時觸發

4、提交merge請求,觸發流程

操作說明

1、新建jenkins項目
新建sonar掃描、單元測試、構建、自動化測試、beta環境構建五個項目。

2、配置meta data

3、新建pipeline視圖

4、設置CI初始項目名稱

5、CI初始項目設置依賴關系.注意:依賴關系一定要順序執行,避免形成環形依賴

6、設置預警聲音(可自定義聲音,音頻格式的文件為wav格式,並且將音頻文件打包好給葉柄添加到jenkins服務器上即可)

7、Sonar掃描項目配置
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent
mvn sonar:sonar

8、單元測試項目配置
-Dmaven.test.skip=false

9、自動化項目配置
http://jenkins.puhuitech.cn/view/decision/job/puhui-decision-autotest/

10、發送測試報告

1)、安裝jenkins插件,Editable Email Notification

2)、選擇構建后操作,Editable Email Notification;

3)、Project Recipient List:輸入收件人的郵箱地址,收件人之間使用逗號隔開;

4)、Default Subject:郵件主題

5)、Default Content:郵件內容自定義

預熱內容--使用Groovy腳本新建pipeline流程

1、新建一個項目類型為Pipeline的jenkins工程

2、配置groovy腳本

3、pipeline 模板腳本生成

4、pipeline進程查看

5、jenkins 2.0建自動化構建之pipeline語法:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM