如何借助Azure DevOps识别并推送通过全量手动测试的最新构建至UAT/Prod
解决方案:在Azure DevOps中识别通过全量手动测试的最新构建
核心思路1:利用Test Plans测试结果绑定构建标签
- 标记通过测试的构建:当QA完成全量手动测试并确认通过后,在对应Test Plan的测试运行详情页,给关联的构建添加自定义标签(比如
Full-Manual-Pass)。也可以用Azure DevOps CLI批量完成:az devops test run update --id <TestRunId> --add-tags "Full-Manual-Pass" --org <OrgUrl> --project <ProjectName> - 快速筛选目标构建:进入Azure DevOps「构建」页面,在筛选栏选择「标签」并输入
Full-Manual-Pass,按构建时间倒序排列后,最顶部的就是最近通过全量手动测试的构建。
核心思路2:结合工作项状态关联构建
- 强制工作项绑定构建:配置工作项规则,要求User Story被PO标记为「完成」时,必须关联对应的通过测试的构建。确保每个达标功能都和可靠构建挂钩。
- 通过查询定位构建:创建工作项查询,筛选最近sprint内状态为「完成」的所有User Story,提取它们关联的构建ID,再到构建页面按ID排序取最新项。也可通过REST API批量获取:
传入查询语句拿到完成的User Story后,遍历工作项的GET https://dev.azure.com/{org}/{proj}/_apis/wit/wiql?api-version=7.1-preview.2relations字段提取关联构建信息。
核心思路3:流水线内直接标记达标构建(最简落地)
- 新增测试通过标记阶段:在Test环境部署后的流水线中,添加手动审批环节,仅当QA确认全量测试通过后,触发标签打标任务:
stages: - stage: MarkTestPassed dependsOn: DeployToTest condition: succeeded() jobs: - job: TagBuild pool: vmImage: 'ubuntu-latest' steps: - script: | az devops login --org $(System.TeamFoundationCollectionUri) az pipelines build tag add --build-id $(Build.BuildId) --tags "Full-Manual-Pass" --project $(System.TeamProject) displayName: '标记构建为全量手动测试通过' - 直接筛选使用:后续只需在构建页面按
Full-Manual-Pass标签筛选,就能快速拿到最新达标构建。
额外优化建议
- 设置标签通知:配置Azure DevOps警报,当构建被打上
Full-Manual-Pass标签时,自动通知团队,及时推进后续部署。 - 定期清理旧标签:搭建定时流水线,每周清理超过1个月的
Full-Manual-Pass标签,避免筛选结果混乱。
内容的提问来源于stack exchange,提问作者Paul Nicholas
相关产品推荐
相关产品推荐

