jenkins 中的 allure 和 email 問題梳理
一、allure 相關
1、我安裝了 jenkins 之後需要再安裝 allure 嗎?在 jenkins 外掛中心直接安裝 allure
1.Allure Jenkins Plugin 只是一個整合外掛,它要求你在 Jenkins 伺服器上安裝 Allure 命令列工具(Allure Commandline)來實際生成報告。
在Dashboard>Manage Jenkins>Plugins>Available plugins
安裝allure-jenkins-plugin
之後重啟 jenkins。
然後進入Dashboard>Manage Jenkins>Tools
勾選自動安裝來安裝allure
,名字自己取一個
2 allure 路徑問題
在一個freestyle
裡的專案中的Configure
,allure 報告位置是透過什麼決定的呢?
在Build Steps>Execute shell
執行
cd /python_project/everyday_check/
/usr/local/python3.9/bin/pytest -sv -m pro testcase_everyday_check/web_site_everyday_check.py
由於上面程式碼沒有alluredir
相關資訊,這裡將會去pytest.init
找用例執行的結果
如pytest.ini
中
# pytest.ini
addopts = -sv --alluredir ./report/temp_jsonreport --clean-alluredir
若pytest.init
中用例結果alluredir
和下圖填的用例結果路徑(allure-result
)不一致會產生空的報告
那麼需要將用例結果複製過來解決空報告問題
mkdir -p ${WORKSPACE}/allure-results_${BUILD_NUMBER}
# 這與pytest.ini檔案定義的addopts = -sv --alluredir ./report/temp_jsonreport --clean-alluredir有關這是allure的目錄我將其複製過來
cp -r /python_project/everyday_check/report/temp_jsonreport ${WORKSPACE}/allure-results_${BUILD_NUMBER}
3 報告歸檔問題
生成報告時都是採用-c -o /var/lib/jenkins/workspace/everyday_check/allure-report
那麼為何每個構建的報告不一樣呢?都是該次構建的報告
下圖可見每次的報告路徑均是allure-report
這是因為每次構建生成的報告 jenkins 都會進行歸檔,如
/var/lib/jenkins/jobs/everyday_check/builds/1/archive
中的1
就是第一次構建生成的報告
二、Extended E-mail Notification
1 在Dashboard>Manage Jenkins>Plugins>Available plugins
安裝Email Extension Plugin
之後重啟 jenkins。
然後進入Dashboard>Manage Jenkins>system
中的 Extended E-mail Notification
進行配置
如下所示 其餘可以全部使用預設值
注意上圖3
需要需要郵箱地址和授權碼,相當於郵箱的傳送伺服器。注意 password 中需要輸入郵箱的授權碼而不是密碼
在 Default Content 中可以使用下列模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.logo {
float: left;
min-width: 40px;
height: 40px;
}
.title{
text-align: center;
color: rgb(235, 30, 15);
}
.desc{
text-align: left;
}
</style>
</head>
<body>
<div>
<h1 class="title">每日巡檢自動化測試報告</h1>
</div>
<div class="desc">
<p><font color="red"> Jenkins自動傳送的測試報告郵件,無需回覆!</font></p>
<h4> 各位同事,大家好,以下為${PROJECT_NAME}自動化測試構建資訊</br><h4/>
<h4> 線上測試報告直達連結:<a href="${PROJECT_URL}/${BUILD_NUMBER}/allure">${PROJECT_URL}/${BUILD_NUMBER}/allure</a></h4>
</div>
<br/>
<div>
<table width="900" cellpadding="8px" cellspacing="8px" class="table">
<tbody>
<tr>
<td><br/>
<b><font color="#0B610B">專案描述:${JOB_DESCRIPTION}<br></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>專案名稱 : ${PROJECT_NAME}</td>
</tr>
<tr>
<td>構建編號 : 第${BUILD_NUMBER}次構建</td>
</tr>
<tr>
<td>觸發原因: ${CAUSE}</td>
</tr>
<tr>
<td>構建狀態: ${BUILD_STATUS}</td>
</tr>
<tr>
<td>構建日誌: <a href="${PROJECT_URL}${BUILD_NUMBER}/console">${PROJECT_URL}${BUILD_NUMBER}/console</a></td>
</tr>
<tr>
<td>構建Url : <a href="${BUILD_URL}">${BUILD_URL}</a></td>
</tr>
<tr>
<td>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></td>
</tr>
<tr>
<td>專案Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></td>
</tr>
<tr>
<td>allure線上測試報告:<a href="${PROJECT_URL}/${BUILD_NUMBER}/allure">${PROJECT_URL}/${BUILD_NUMBER}/allure</a></td>
</tr>
</tbody>
</table>
</div>
</body>
2 郵件老是傳送失敗時可以將Jenkins Location
的System Admin e-mail address
填一下,實測有用
相關文章
- [求助] 如何把 allure 的 index.html 所顯示的內容,展示在 jenkins 傳送的 Email 中?IndexHTMLJenkinsAI
- 解決 allure.dynamic.parameter 不生效問題 或者 allure 報告中因為引數導致排版的問題
- Laravel框架傳送Email遇到的問題Laravel框架AI
- Jenkins 整合 allure 報告無資料Jenkins
- 關於非同步傳送EMail的問題非同步AI
- 部署Jenkins + 遇到的問題Jenkins
- [Jenkins]email-ext報No such property的解決方案JenkinsAI
- Jenkins+pytest+allure 自動化持續交付,幾個問題尋找解決辦法Jenkins
- CORS跨域問題梳理CORS跨域
- [諮詢問題] 有關 Allure 報告的技術問題,希望大家給點思路和具體的實現方法。
- 救命!!!jenkins 中自動化測試中遇到無法解決的問題Jenkins
- 使用 email-ext 替換 Jenkins 的預設郵件通知AIJenkins
- Python+Pytest+Allure+Jenkins 介面自動化框架PythonJenkins框架
- win+jenkins+git+allure+tomcat+jdk部署(萬人坑)JenkinsGitTomcatJDK
- Jenkins上實現Python + Jenkins + Allure Report 介面自動化測試持續整合,並生成allure-report測試報告JenkinsPython測試報告
- Java面試技巧之MySQL問題梳理Java面試MySql
- mysql主從同步(2)-問題梳理MySql主從同步
- [jenkins]解決jenkins記憶體溢位問題Jenkins記憶體溢位
- Pytest單元測試框架——Pytest+Allure+Jenkins的應用框架Jenkins
- Python+Pytest+Allure+Git+Jenkins介面自動化框架PythonGitJenkins框架
- Jenkins allure report 路徑使用環境變數失敗Jenkins變數
- 解決jenkins執行磁碟滿的問題Jenkins
- 系統中沒有郵件客戶端設定autoLink=email會掛掉的問題客戶端AI
- Pytest 學習(二十七)- Jenkins+Allure+Pytest的持續整合Jenkins
- css中的定位和框模型問題CSS模型
- 記一次jenkins傳送郵件報錯 一直報錯 Could not send email as a part of the post-build publishers問題JenkinsAIUI
- [GIT]jenkins gitlog亂碼問題GitJenkins
- email中To、Cc、Bcc欄位的作用AI
- pytest+python3+requests+jenkins+git+allure介面測試框架PythonJenkinsGit框架
- Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的詳細使用
- 求解救:使用 docker 啟動 jenkins 遇到的問題。DockerJenkins
- Pytest系列(23)- allure打標記,@allure.feature()、@allure.story()、@allure.severity()的詳細使用
- 介面自動化 是 pytest 結合 allure 生成報告問題
- pytest+allure+yaml介面自動化測試問題記錄YAML
- mysql操作命令梳理(4)-中文亂碼問題MySql
- Redis常見問題和解決辦法梳理Redis
- Ceph常規操作及常見問題梳理
- JavaScript 中 for in 迴圈和陣列的問題JavaScript陣列