jenkins 生成多份Allure报告
时间: 2025-07-21 07:33:52 浏览: 4
### 如何在 Jenkins 中生成多份 Allure 报告
要在 Jenkins 中生成多份 Allure 报告,可以通过以下方式实现:
#### 1. **配置多个构建阶段**
使用 Jenkins 的 Pipeline 功能来定义多个构建阶段,在每个阶段运行不同的测试套件并生成对应的 Allure 报告。这需要在 `Jenkinsfile` 或者手动创建的 Pipeline 脚本中指定不同阶段的任务。
下面是一个简单的 Pipeline 示例脚本:
```groovy
pipeline {
agent any
stages {
stage('Run Test Suite A') {
steps {
sh 'pytest tests/suite_a --alluredir=allure-results-suite-a'
}
}
stage('Generate Report for Suite A') {
steps {
allure includeProperties: false, jdk: '', results: [[path: 'allure-results-suite-a']]
}
}
stage('Run Test Suite B') {
steps {
sh 'pytest tests/suite_b --alluredir=allure-results-suite-b'
}
}
stage('Generate Report for Suite B') {
steps {
allure includeProperties: false, jdk: '', results: [[path: 'allure-results-suite-b']]
}
}
}
}
```
上述脚本展示了如何分别执行两个测试套件 (`suite_a`, `suite_b`) 并为它们各自生成独立的 Allure 报告[^1]。
#### 2. **使用自定义路径存储结果**
在每次运行测试时,确保将测试结果保存到不同的目录中。这样可以避免不同测试的结果相互覆盖。例如,对于第一个测试套件,将其结果存放在 `allure-results-suite-a`;第二个测试套件则存放在 `allure-results-suite-b`。
这种方法的关键在于通过命令行参数控制 pytest 测试框架的行为,具体如下:
```bash
pytest tests/suite_a --alluredir=allure-results-suite-a
pytest tests/suite_b --alluredir=allure-results-suite-b
```
#### 3. **Post-Build Action 配置**
如果不使用 Pipeline,则可以在传统的自由风格项目中配置 Post-Build Actions 来处理多个报告。进入项目的配置页面,找到 “Publishing Allure reports”,添加多次此步骤,并分别为每一步指定对应的结果文件夹路径。
- 对于第一个报告,设置路径为 `allure-results-suite-a`。
- 对于第二个报告,设置路径为 `allure-results-suite-b`。
此外,还可以调整显示名称以便区分这些报告[^2]。
#### 4. **邮件通知中的链接定制**
当生成多个 Allure 报告后,如果希望在邮件通知中提供访问各个报告的快捷方式,可以根据 `${BUILD_URL}` 和特定的子路径动态生成 URL 地址。例如:
```html
<p>View the report for test suite A here: <a href="${BUILD_URL}allure-report-suite-a/">Suite A</a></p>
<p>View the report for test suite B here: <a href="${BUILD_URL}allure-report-suite-b/">Suite B</a></p>
```
可以将此类 HTML 片段嵌入到邮件模板中,从而方便团队成员快速定位所需的具体报告[^4]。
---
### 注意事项
- 确保已经正确安装了 Allure 插件以及必要的依赖项[^3]。
- 不同的操作系统可能会影响某些命令或者路径解析逻辑,请提前验证环境兼容性。
- 若采用分布式节点运行任务,需确认各节点均具备相同的工具链配置(如 Allure CLI 已经被预装)。
---
阅读全文
相关推荐


















