持續集成(CONTINUOUS INTEGRATION)
在CI環境中,開發人員將會頻繁地向主干提交代碼。這些新提交的代碼在最終合並到主干前,需要經過編譯和自動化測試流進行驗證。
持續交付(CONTINUOUS DELIVERY)
它可以讓軟件產品的產出過程在一個短周期內完成,以保證軟件可以穩定、持續的保持在隨時可以釋出的狀況。它的目標在於讓軟件的建置、測試與釋出變得更快以及更頻繁。這種方式可以減少軟件開發的成本與時間,減少風險。
持續部署(CONTINUOUS DEPLOYMENT)
在CD環境中,通過自動化的構建、測試和部署循環來快速交付高質量的產品。某種程度上代表了一個開發團隊工程化的程度,任何修改通過了所有已有的工作流就會直接和客戶見面,只有當一個修改在工作流中構建失敗才能阻止它部署到產品線。
Jenkins持續集成
Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)的基於web界面的平台。允許持續集成和持續交付項目,無論用的是什么平台,可以處理任何類型的構建或持續集成。
特點
- 開源的java語言開發持續集成工具,支持CI,CD;
- 易於安裝部署配置:可通過yum安裝,或下載war包以及通過docker容器等快速實現安裝部署,可方便web界面配置管理;
- 消息通知及測試報告:集成RSS/E-mail通過RSS發布構建結果或當構建完成時通過e-mail通知,生成JUnit/TestNG測試報告;
- 分布式構建:支持Jenkins能夠讓多台計算機一起構建/測試;
- 文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等;
- 豐富的插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具,如git,svn,maven,docker等。
- 定時構建,觸發構建等自動化構建發布
1、搭建Jenkins環境
注意:安裝最低配置:不少於256M內存,不低於1G磁盤,JDK版本>=8(openjdk也可以)。
windows:
1、安裝JDK
https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
2、安裝Jenkins
https://jenkins.io/zh/download/thank-you-downloading-windows-installer/
3、解壓安裝mis文件,默認選項,安裝目錄需要修改
4、安裝完成后服務自動開啟。訪問 http://localhost:8080/ 進入首頁
Mac:
Linux:
解鎖,根據提示到指定目錄獲取解鎖密碼
安裝插件,新手可以安裝推薦插件
安裝完成后進入設置用戶頁面
設置訪問地址
繼續后就來到首頁,可以正常使用了
安裝插件
Allure Plugin
安裝插件完成后重啟
http://localhost:8080/restart
下載
http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.12.1/allure-commandline-2.12.1.zip
設置
Global Tools Configuration-》Allure Commandline
構建自由風格的項目
設置定時構建
時間語法設置
第一個*表示分鍾,取值0~59
第二個*表示小時,取值0~59
第三個*表示一個月的第幾天,取值1~31
第四個*表示第幾月,取值1~12
第五個*表示一周中的第幾天,取值0~7,其中0和7代表的都是周日