Docker 實戰(2)- 在 Jenkins 容器上的搭建持續集成環境和完成自動化測試


如果你還想從頭學起 Docker,可以看看這個系列的文章哦!

https://www.cnblogs.com/poloyy/category/1870863.html

 

搭建 Jenkins 容器

就是實戰第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html

 

Jenkins 初始化流程

訪問 Jenkins

查看本機 IP

ifconfig

 

查看容器運行端口

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:someone@example.com,bcc:bob@example.com)

 

配置郵箱通知

 

使用 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 任務配置構建操作

主要兩個任務

  1. 配置 pytest 命令
  2. 生成 allure 報告

 

配置 pytest 命令

#!/bin/bash
cd /var/jenkins_home/waimai
pytest -s -q --alluredir=${WORKSPACE}/allure-reports --clean-alluredir
exit 0

 

生成 allure 報告

這張圖是重點哦

 

保存!!就成功了!

 

進行第二次構建

 

查看 allure 報告

 

 


免責聲明!

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



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