在安裝之前,我們先了解一下什么叫做”持續集成“?
- "持續" 包括幾個核心概念/最佳實踐:
1)頻繁發布
2)可重復
3)快速迭代
- 持續集成(Continuous Integration)CI 是在源代碼變更后自動檢測、拉取、構建和(在大多數情況下)進行單元測試的過程。
- 持續集成的目標是快速確保開發人員新提交的變更是好的,並且適合在代碼庫中進一步使用
- 持續集成的基本思想是讓一個自動化過程監測一個或多個源代碼倉庫是否有變更。當變更被推送到倉庫時,它會監測到更改、下載副本、構建並運行任何相關的單元測試。
工廠里的裝配線以快速、自動化、可重復的方式從原材料生產出消費品。同樣,軟件交付管道以快速、自動化和可重復的方式從源代碼生成發布版本。如何完成這項工作的總體設計稱為“持續交付”(CD)。啟動裝配線的過程稱為“持續集成”(CI)。確保質量的過程稱為“持續測試”,將最終產品提供給用戶的過程稱為“持續部署”。
一、安裝Jenkins
1. 到官網:https://jenkins.io/zh/download/查看 下載文檔
使用brew安裝Jenkins
# 安裝最新版本 brew install jenkins # 安裝 LTS 版本 brew install jenkins-lts
二、安裝所需插件
1. 一開始可以根據推薦的進行安裝,如果后期有其他的安裝或卸載需要,可通過如下步驟進行:
2. 利用過濾器過濾需要安裝的插件,勾選后,點擊安裝即可
3. 由於需要配置郵件通知,所以必須安裝—— 郵件擴展插件
三、創建admin用戶賬號
創建的時候配置好管理員郵箱,因為后面這個郵箱后面用於發送郵件的
四、執行郵件通知相關配置
1. 設置Jenkins地址和管理員郵箱地址
2. 配置發件人郵箱基本信息--郵件服務器地址、默認用戶郵箱后綴、默認郵件內容類型以及默認接收人郵箱(此處使用的發送郵箱是QQ郵箱)
3. 點擊”高級“,進一步配置
4. 配置QQ 郵箱開啟相關服務
如果報告的發件人郵箱設置為qq郵箱,需要對qq郵箱進行服務設置,如下:設置-->開啟POP3/IMAP 服務
5. 開啟之后把獲得的授權碼 復制粘貼到第3點的密碼框:
6. 設置郵件默認主題格式和默認內容
# Default Subject 【構建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS! # Default Content <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日志</title> </head> <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> <tr> 本郵件由系統自動發出,無需回復!<br/> 各位同事,大家好,以下為${PROJECT_NAME }項目構建信息</br> <td><font color="#CC0000">構建結果 - ${BUILD_STATUS}</font></td> </tr> <tr> <td><br /> <b><font color="#0B610B">構建信息</font></b> <hr size="2" width="100%" align="center" /></td> </tr> <tr> <td> <ul> <li>項目名稱 : ${PROJECT_NAME}</li> <li>構建編號 : 第${BUILD_NUMBER}次構建</li> <li>觸發原因: ${CAUSE}</li> <li>構建狀態: ${BUILD_STATUS}</li> <li>構建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li> <li>構建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li> <li>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li> <li>項目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li> </ul> <h4><font color="#0B610B">失敗用例</font></h4> <hr size="2" width="100%" /> $FAILED_TESTS<br/> <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4> <hr size="2" width="100%" /> <ul> ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"} </ul> 詳細提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td> </tr> </table> </body> </html>
7. 點擊 ”apply“——”save”
五、創建任務
1. 定義任務名稱——建議與接口測試任務名稱一致
2. 選擇自由風格——Freestyle project
3. 構建設置(如果是mac電腦,Build選擇 Execute Shell
命令框里輸入 執行py文件的shell命令
4. 配置完后,選擇開始 構建
5. 第一次構建的時候會失敗,但是沒有關系,只有構建之后,我們創建的項目才會保存到workspace文件夾中,如下:
Users/mecell/.jenkins/workspace/FinanceAPITest
6. 接着把項目根目錄下的所有文件和代碼拷貝到上述目錄中:
7. 配置測試報告存放文件夾
進入項目里面,選擇Configure
配置構建后操作(Add post-build Action)——Publish HTML reports
選擇add,進入如下頁面,填寫后,點擊保存,index pages配置的目錄要與項目中的html報告所在目錄保持一致
構建成功后,測試報告就會存放在項目頁面的一個HTML Report文件夾內:
8. 配置測試報告通過郵件通知發送
進入項目里面,配置構建后操作(Add post-build Action)
只需要修改Attachments 的內容 ,其他配置保持默認
接着配置一個觸發器,點擊上圖的 Advanced Settings:
把原來失敗才發送的觸發器刪除,重新新建一個:
添加一個Always的觸發器,表示總是發送(由於沒有配置用戶列表,所以把develpers刪除,僅留下配置的 收件人列表recipient list),最后保存
構建成功如下:球變為藍色
# 定時構建
解決:生成的HTML報告,無法導入js,css文件問題,打開沒有格式
在“系統管理”-“腳本命名行”輸入如下命令並執行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")