帮助开发者验证 Azure DevOps 流水线改动,快速排查构建与 YAML 配置问题。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "azure-pipelines" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/vscode/main/.github/skills/azure-pipelines/SKILL.md 2. 保存为 ~/.claude/skills/azure-pipelines/SKILL.md 3. 装好后重载技能,告诉我可以用了
我刚修改了 Azure DevOps 的流水线 YAML,用这个技能帮我排查配置是否正确,说明如何触发一次构建、检查状态,并定位失败步骤。
给出验证流程,包括触发构建、查看状态、分析日志和定位 YAML 配置错误的建议。
请帮我检查 VS Code 构建对应的 Azure Pipelines 运行结果,查看失败任务日志,并总结最可能的报错原因和下一步修改建议。
输出失败任务摘要、关键日志线索、可能原因,以及建议的 YAML 或脚本修改方向。
我想在不等待完整 CI 的情况下迭代 Azure DevOps 流水线配置,请帮我制定一个快速验证方案,包含局部修改、重复构建和结果比对方法。
提供高效迭代方案,帮助缩短验证周期并更快确认流水线改动效果。
When modifying Azure DevOps pipeline files (YAML files in build/azure-pipelines/), you can validate changes locally using the Azure CLI before committing. This avoids the slow feedback loop of pushing changes, waiting for CI, and checking results.
Check if Azure CLI is installed:
az --version
If not installed, install it:
# macOS
brew install azure-cli
# Windows (PowerShell as Administrator)
winget install Microsoft.AzureCLI
# Linux (Debian/Ubuntu)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Check if the DevOps extension is installed:
az extension show --name azure-devops
If not installed, add it:
az extension add --name azure-devops
Authenticate:
az login
az devops configure --defaults organization=https://dev.azure.com/monacotools project=Monaco
The main VS Code build pipeline:
monacotoolsMonaco111Two Insider builds run automatically on a scheduled basis:
These scheduled builds use the same pipeline definition (111) but run on the main branch to produce Insider releases.
Use the queue command to queue a validation build:
# Queue a build on the current branch
node .github/skills/azure-pipelines/azure-pipeline.ts queue
# Queue with a specific source branch
node .github/skills/azure-pipelines/azure-pipeline.ts queue --branch my-feature-branch
# Queue with custom parameters
node .github/skills/azure-pipelines/azure-pipeline.ts queue --parameter "VSCODE_BUILD_WEB=false" --parameter "VSCODE_PUBLISH=false"
# Parameter value with spaces
node .github/skills/azure-pipelines/azure-pipeline.ts queue --parameter "VSCODE_BUILD_TYPE=Product Build"
Important: Before queueing a new build, cancel any previous builds on the same branch that you no longer need. This frees up build agents and reduces resource waste:
# Find the build ID from status, then cancel it node .github/skills/azure-pipelines/azure-pipeline.ts status node .github/skills/azure-pipelines/azure-pipeline.ts cancel --build-id <id> node .github/skills/azure-pipelines/azure-pipeline.ts queue
| Option | Description |
|---|---|
--branch <name> | Source branch to build (default: current git branch) |
--definition <id> | Pipeline definition ID (default: 111) |
--parameter <entry> | Pipeline parameter in KEY=value format (repeatable); use this when the value contains spaces |
--parameters <list> | Space-separated parameters in KEY=value KEY2=value2 format; values must not contain spaces |
--dry-run | Print the command without executing |
build/azure-pipelines/product-build.yml)| Name | Type | Default | Allowed Values | Description |
|---|---|---|---|---|
VSCODE_QUALITY | string | insider | exploration, insider, stable | Build quality channel |
VSCODE_BUILD_TYPE | string | Product Build | Product, CI | Build mode for Product vs CI |
NPM_REGISTRY | string | https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/npm/registry/ | any URL | Custom npm registry |
CARGO_REGISTRY | string | sparse+https://pkgs.dev.azure.com/monacotools/Monaco/_packaging/vscode/Cargo/index/ | any URL | Custom Cargo registry |
VSCODE_BUILD_WIN32 | boolean | true | true, false | Build Windows x64 |
VSCODE_BUILD_WIN32_ARM64 | boolean | true | true, false | Build Windows arm64 |
…
在隔离环境启动 VS Code OSS,便于联动自动化操作与多进程调试。
分析 Azure DevOps 中 VS Code 滚动构建健康状况并定位失败提交范围