SuperAPI AI 工具集

azdo-build-investigator

部署与运维

查看项目

更新于 10-15 21:12

技能介绍

用途:给定 Azure DevOps 构建 URL 或 GitHub PR URL,排查构建失败,定位失败阶段、作业与任务,拉取日志与 .binlog 工件,输出根因错误线索与修复建议。

前置工具:az 始终需要;gh 仅在处理 GitHub PR 链接时需要;binlogtool 仅在分析 .binlog 时需要。若当前任务缺少必需工具,应立即停止并给出对应安装链接,不得替用户安装。az 需安装 DevOps 扩展(az extension add --name azure-devops),并执行 az login 及 az devops configure --defaults organization=https://dev.azure.com/ORGNAME project=PROJECTNAME;binlogtool 安装命令为 dotnet tool install -g binlogtool。

用法流程:1)解析输入 URL,GitHub PR 用 gh pr checks {prNumber} --repo {owner}/{repo} --json "name,state,link,bucket",筛选 bucket == "fail" 并从 link 提取 AZDO 构建 URL;多个失败时询问用户,无失败则报告通过/进行中。2)支持两种 AZDO 构建 URL 形式,提取 org、project(可能是 GUID)、buildId 和 orgUrl。3)用 az pipelines runs show --id {buildId} --org {orgUrl} --project {project} 获取构建概览。4)用 az devops invoke 的 timeline 资源获取失败作业与任务,先看 issues 数组,常直接包含根因。5)必要时按 logId 拉取完整日志,日志端点返回纯文本,应保存到文件。6)用 az pipelines runs artifact list 查找名称含 binlog、msbuild 或 build-log 的工件。7)下载并分析 .binlog,binlogtool 支持 search、reconstruct、listproperties、doublewrites,建议先搜宽泛词再按错误码收窄。8)按构建概览、失败阶段/作业/任务、错误信息、根因分析、建议修复的顺序汇总。9)清理临时目录。

适用场景与错误模式:dotnet/android 下常见 MSBuild(XA、APT、error CS、error NU)、测试失败(Failed :、Assert.、System.TimeoutException、ADB、device not found)、基础设施(##[error]、disk space、Process exit code、timeout)、NuGet(NU1100–NU1699、NU1301)。

限制与建议:认证错误通常需用户完成 az login 与 az devops configure;在仓库内运行可用 --detect 自动识别组织/项目;应聚焦按时间顺序出现的首个错误,后续错误多为级联;.binlog 比文本日志信息更丰富,文本日志仅显示笼统“Build FAILED”时应使用它。原资料未提供收费、价格与其他平台支持等信息。