Docker 實戰(2)- 配置 Jenkins 容器上的持續整合環境
阿新 • • 發佈:2020-11-11
如果你還想從頭學起 Docker,可以看看這個系列的文章哦!
https://www.cnblogs.com/poloyy/category/1870863.html
搭建 Jenkins 容器
就是實戰第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html
Jenkins 初始化流程
訪問 Jenkins
檢視本機 IP
ifconfig6·rtyjie
檢視容器執行埠
docker ps
我的是用主機 80 埠對映到容器的 8080 埠
瀏覽器訪問 Jenkins
http://ip:80
檢視管理員密碼
進入到頁面
檢視密碼有兩種方式
第一種:檢視容器日誌
docker logs jenkins1
打碼那一行就是密碼哦
第二種: 去資料夾檢視
cat /var/jenkins_node/secrets/initialAdminPassword
- 因為我建立 Jenkins 容器時,將主機的 /var/jenkins_node 目錄映射了容器的 /var/jenkins_home 目錄
- 所以可以直接在主機查到管理員密碼,而無需進入容器再檢視
初始化流程
建立管理員使用者
自己配啥記住就行了,沒啥特別要求
例項配置
預設會給一個地址的,不改也可以
配置完成
進入主介面
下載外掛
需要的外掛 gitlab、gitlab hook、allure
在它安裝完後,自己重啟 Jenkins 容器
docker restart jenkins1
將外掛源切換國內源
直接看這個教程:https://www.cnblogs.com/poloyy/p/12785401.html
Jenkins 漢化
直接看這個教程:https://www.cnblogs.com/poloyy/p/13955209.html
Jenkins 全域性工具設定
配置 JDK
配置 Git
配置 allure
應用儲存!即可!
Jenkins 郵件功能測試
配置 Extended E-mail Notification
自定義電子郵=件通知的預設收件人列表
- 可以在專案中使用 $DEFAULT_RECIPIENTS ,來包含此預設收件人列表(下面建立專案時講到這個變數)
- 若要向某人抄送或密件抄送,不是將其放在“收件人”列表中,請在電子郵件地址之前新增 cc: 或密件抄送 bcc: (例如:cc:[email protected],bcc:[email protected])
配置郵箱通知
使用 Jenkins 實現自動化測試
將專案放到主機對映到容器的目錄下
通過 xftp 將專案上傳到主機
這是我自己的一個 pytest 專案
驗證專案能正常跑
進入容器內,在專案資料夾愛內執行 pytest 命令
有 28 個測試用例都跑通了哦
Jenkins 建立任務工程
新建任務
Jenkins 任務配置構建後操作
在完成系統設定後,還需要給需要構建的專案進行郵件配置
重點:這裡就有 $DEFAULT_RECIPIENTS ,上面也有講到這個環境變數,預設收件人列表,如果需要新增新的收件郵件,需要用 , 隔開
郵件模板
直接複製貼上到內容框就行
<!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> <li>測試報告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</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>
最後儲存
進行第一次構建
檢視控制檯輸出
郵件傳送成功!!
Jenkins 任務配置構建操作
主要兩個任務
- 配置 pytest 命令
- 生成 allure 報告
配置 pytest 命令
#!/bin/bash cd /var/jenkins_home/waimai pytest -s -q --alluredir=${WORKSPACE}/allure-reports --clean-alluredir exit 0
生成 allure 報告
這張圖是重點哦
儲存!!就成功了!
進行第二次構建
檢視 allure 報告
&n