使用PublishBuildArtifacts@1发布报告仅显示当前版,如何获取全部历史报告?
解决方案
要保留并获取所有历史报告和当前报告,核心是避免每次构建的报告被覆盖,同时发布包含所有历史报告的父目录,具体操作如下:
给每个构建的报告分配独立子目录
在生成Extent报告的环节(比如Maven/Gradle脚本、测试启动命令),将报告输出路径修改为包含构建唯一标识的子目录。Azure DevOps内置了$(Build.BuildId)变量,每个构建的ID都是唯一的,用它来命名子目录最合适。
例如,把报告输出路径从./target/Extent-Reports/改为./target/Extent-Reports/$(Build.BuildId)/。这样每次构建的报告会被存放在单独的、以构建ID命名的文件夹里,不会被后续构建覆盖。调整发布任务的路径配置
修改PublishBuildArtifacts@1任务的PathToPublish为所有报告子目录的父路径,也就是原来的根目录./target/Extent-Reports/,这样发布的产物会包含所有历史构建的子目录和当前构建的子目录。最终配置如下:
task: PublishBuildArtifacts@1 inputs: ArtifactName: 'Extent-Reports' PathToPublish: './target/Extent-Reports/'
完成以上配置后,每次构建完成后,你在Artifacts的Extent-Reports下就能看到所有以构建ID命名的子文件夹,每个文件夹对应一次构建的完整报告,既保留了历史记录,也能查看当前报告。
内容的提问来源于stack exchange,提问作者Aayush Khandelwal
相关产品推荐
相关产品推荐

