CI(Continuous Integration)持續集成

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

爲何作CI

一、分支偏離主幹服務器

二、未知項目進度maven

三、發現bug較晚gitlab

四、定位問題複雜單元測試

CI價值

1.二進制包準備下降風險:靜態代碼分析,儘早發現bug測試

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

3.隨時發佈url

重點

爲了提升代碼質量已經每次發佈到beta環境服務的穩定性,要提升自動化測試覆蓋率(不只限於接口自動化測試)插件

CI系統流程

流程圖以下:

CI詳細流程圖以下

代碼提交流程

自測環境發佈流程

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

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

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

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

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

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

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

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

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

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

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

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

六、接口自動化測試經過後,將測試經過的dev分支發佈並部署到beta環境。

流程觸發機制

一、使用gitlab webhooks

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

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

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

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

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

操做說明

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

二、配置meta data

三、新建pipeline視圖

四、設置CI初始項目名稱

五、CI初始項目設置依賴關係.注意:依賴關係必定要順序執行,避免造成環形依賴

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

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

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

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

十、發送測試報告

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

2)、選擇構建後操做,Editable Email Notification;

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

4)、Default Subject:郵件主題

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

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

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

二、配置groovy腳本

三、pipeline 模板腳本生成

四、pipeline進程查看

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

相關文章
相關標籤/搜索