JenkinsPipline如何生成测试报告并发送到个人邮箱
通过这些步骤,你可以在每次构建后生成测试报告,并自动将报告发送到指定邮箱,从而便于查看和分析测试结果。变量替换为你的实际邮箱地址,或者在Pipeline配置中参数化处理。确保你已经正确配置了Jenkins的邮件服务器设置。确保Jenkins节点有权限访问并发送邮件。确保你已经在Jenkins中安装了。
·
目录
在Jenkins Pipeline中生成测试报告并将其发送到个人邮箱,可以通过以下步骤实现:
- 生成测试报告:使用现有的生成测试报告的工具,将测试结果保存为指定格式的文件(如JUnit XML或HTML)。
- 配置邮件插件:Jenkins有一个
Email Extension Plugin
插件,可以通过它来发送邮件并包含构建结果和文件附件。 - 编写Pipeline脚本:在Jenkinsfile中生成测试报告并通过邮件插件发送报告。
步骤详细说明
1. 安装 Email Extension Plugin
确保你已经在Jenkins中安装了Email Extension Plugin
。你可以按照以下步骤进行安装:
- 进入Jenkins的管理页面。
- 点击“Manage Jenkins”(管理Jenkins)-> “Manage Plugins”(管理插件)-> 点击 “Available”(可选插件)标签。
- 搜索
Email Extension Plugin
,然后安装它。
2. 配置邮件服务器
- 进入 Jenkins 管理页面。
- 点击“Manage Jenkins”-> “Configure System”。
- 在
Extended E-mail Notification
部分,配置 SMTP 邮件服务器信息,比如 SMTP 主机名、端口、发送者邮箱地址等。
3. 编写 Jenkinsfile
以下是一个示例 Pipeline 脚本,演示了如何生成测试报告并通过邮件发送报告:
pipeline {
agent any
tools {
// 使用特定版本的Python
python 'Python3'
}
environment {
// 收件人邮箱,可根据需要设置为参数化变量
RECIPIENTS = 'your_email@example.com'
}
stages {
stage('Checkout') {
steps {
// 检出代码
checkout scm
}
}
stage('Install Dependencies') {
steps {
// 安装依赖
sh 'pip install -r requirements.txt'
}
}
stage('Run Tests') {
steps {
// 运行测试,并生成JUnit格式的报告
sh 'pytest --junitxml=reports/test-results.xml --html=reports/test-report.html'
}
}
stage('Publish Reports to Jenkins') {
steps {
// 发布测试报告到 Jenkins
junit 'reports/test-results.xml'
publishHTML(target: [
reportName : 'HTML Report',
reportDir: 'reports',
reportFiles: 'test-report.html',
keepAll: true,
alwaysLinkToLastBuild: true,
allowMissing: false
])
}
}
}
post {
always {
// 发送邮件通知
emailext attachmentsPattern: 'reports/test-report.html',
to: "${RECIPIENTS}",
subject: "Build #${env.BUILD_NUMBER} - ${currentBuild.fullDisplayName}",
body: """
<p>Hi team,</p>
<p>The build #${env.BUILD_NUMBER} for ${env.JOB_NAME} has completed.</p>
<p>Check the attached test report for more details.</p>
<p>Build URL: ${env.BUILD_URL}</p>
"""
// 清理工作空间
cleanWs()
}
}
}
详细步骤说明
- agent any : 表示在任何可用的节点上执行这个Pipline
- tools: 指定Pipline使用的工具 在这里的例子是指定了python3版本
- checkout scm :从源代码管理系统检出源码 默认从Jenkins创建的SCM配置中检出代码
- sh 'pytest --junitxml=reports/test-results.xml --html=reports/test-report.html':使用pytest运行测试 并将结果生成Junit格式的XML文件和HTML格式的测试报告
- junit 'reports/test-results.xml' :使用Jenkins的Junit插件解析并展示测试结果
- Publish(...):发布HTML格式的测试报告到Jenkins中
- post:无论是否构建成功,始终执行以下步骤
(1)emailtext:发送包含测试报告邮件的插件指令,将HTML格式的测试报告作为附件发送到指定的邮箱
(2) cleanWs():清理工作空间
注意事项
-
邮件服务器配置:确保你已经正确配置了Jenkins的邮件服务器设置。
-
权限问题:确保Jenkins节点有权限访问并发送邮件。
-
收件人邮箱:将
RECIPIENTS
变量替换为你的实际邮箱地址,或者在Pipeline配置中参数化处理。
通过这些步骤,你可以在每次构建后生成测试报告,并自动将报告发送到指定邮箱,从而便于查看和分析测试结果。
更多推荐
所有评论(0)