Azure Devops中Allure报告保留历史版本配置咨询
解决Azure DevOps Allure报告历史保留与Web App访问问题
核心问题分析
你之前的操作导致Web App无法访问,是因为把带$(Build.BuildNumber)的报告文件夹直接传到了/site/wwwroot根目录——Web App默认从该目录加载静态入口文件(比如index.html),根目录被子文件夹占满后找不到入口,自然无法访问。下面是具体的解决配置步骤:
方案1:调整上传路径+Web App静态文件配置(推荐)
这是最直接的解决方案,既能保留历史报告,又不影响Web App正常访问:
Azure DevOps流水线调整
- 在生成Allure报告的步骤中,将报告输出到以
$(Build.BuildNumber)命名的子文件夹,比如设置输出路径为allure-results/$(Build.BuildNumber)(具体路径根据你用的Allure插件参数调整) - 上传报告时,不要直接传到
/site/wwwroot,而是指定上传到/site/wwwroot/reports目录下。比如用FTP任务的话,远程路径填/site/wwwroot/reports/$(Build.BuildNumber),这样每个构建的报告会存在独立子目录中
- 在生成Allure报告的步骤中,将报告输出到以
Azure Web App配置
- 登录Azure Portal,进入你的Web App,打开配置 > 常规设置
- 确保静态文件功能处于开启状态,默认文档列表中添加
index.html(Allure报告的入口文件) - 访问历史报告:直接通过Web App URL +
/reports/构建编号访问,比如https://yourapp.azurewebsites.net/reports/20240520.3 - (可选)如果想在根路径展示所有历史报告列表,可以在
/site/wwwroot下创建一个index.html,手动或通过脚本生成所有报告文件夹的链接,示例HTML片段:<ul> <li><a href="/reports/20240520.3">构建20240520.3报告</a></li> <li><a href="/reports/20240519.1">构建20240519.1报告</a></li> </ul>
方案2:直接在Azure DevOps中保留历史报告
如果不需要通过Web App访问,有些Allure插件支持在Azure DevOps构建详情页直接保留历史报告:
- 检查你使用的Allure插件(比如Allure Azure DevOps Extension)的配置项,找到保留历史报告或类似选项并开启
- 之后每个构建的报告都会在该构建的详情页面中留存,直接在DevOps内就能查看历史测试记录,无需额外上传到Web App
方案3:用Azure Blob存储归档报告(适合大量历史报告)
如果Web App存储空间有限,可将报告归档到Blob存储:
- 在Azure DevOps流水线中添加Azure 文件复制任务,将
allure-report/$(Build.BuildNumber)文件夹上传到Azure Blob容器的指定目录(比如allure-history/$(Build.BuildNumber)) - 配置Blob容器为
容器级公开访问,或生成SAS令牌用于访问 - 在Web App中创建一个静态页面,通过Azure Storage SDK或预生成的链接列表,展示所有Blob中的报告访问地址
内容的提问来源于stack exchange,提问作者kostukp96
相关产品推荐
相关产品推荐

