用途:为 .NET 项目编写可组合的 Azure DevOps YAML 管道,通过模板与表达式实现分层复用和集中配置。
主要能力:使用 extends、stages、jobs、steps 关键字进行模板引用与层级组合;用变量组和变量模板集中管理配置;用管道装饰器注入组织级策略;用 ${{ if }} 和 ${{ each }} 做条件插入;构建多阶段管道(构建、测试、部署);配置 CI、PR 和计划触发器。
版本假设:Azure Pipelines YAML schema;.NET 8/9/10 构建使用 DotNetCoreCLI@2 任务;模板表达式语法 v2。
使用方式与限制:模板参数类型在编译期强制校验,类型必须精确匹配;extends 模板不可被调用方覆盖,无法在强制阶段前后注入步骤;变量组密钥在模板表达式中不可用,需改用 $(mySecret) 运行时语法;${{ each }} 在编译期迭代,不能用运行时变量作为迭代源;trigger 与 pr 互斥,省略两者会默认对所有分支启用 CI,需显式 trigger: none 关闭;触发器路径过滤使用仓库根相对路径,不要加 / 或 ./ 前缀;计划触发器始终先在默认分支运行,branches.include 在计划触发后生效;管道资源触发器需用源管道名称而非 YAML 文件路径。
范围外:起始 CI 模板、CLI 发布管道、ADO 独有功能(环境、服务连接、经典发布)、构建/测试细节、发布管道、GitHub Actions 模式等由其他技能覆盖。详细 YAML 示例见该技能目录下的 examples.md。