用途:为已有 .NET 项目添加入门级 CI/CD 工作流,自动检测托管平台并生成对应的起始模板,覆盖构建、测试与打包。
主要能力:通过仓库标识检测平台——存在 .github/ 目录或 .github/workflows/ 下的 YAML 判定为 GitHub Actions,存在 azure-pipelines.yml 判定为 Azure DevOps,两者皆无时询问用户目标平台。随后生成对应起始工作流:GitHub Actions 写入 .github/workflows/build.yml,Azure DevOps 写入仓库根目录的 azure-pipelines.yml。模板包含还原、构建、测试、上传测试结果,库项目可追加 NuGet 打包与产物上传步骤。
使用方式:先运行 dotnet-version-detection 确定 SDK 版本,再运行 dotnet-project-analysis 了解解决方案结构。模板使用 global-json-file 或 useGlobalJson 安装精确 SDK 版本;若项目无 global.json,需替换为 dotnet-version: '10.0.x' 等版本。--locked-mode 要求存在 packages.lock.json,否则改为普通 dotnet restore。多目标框架项目无需改动,dotnet build 与 dotnet test 会自动处理所有 TFM。仅 Windows 项目(MAUI、WPF、WinForms)需将运行器改为 windows-latest。多解决方案或使用解决方案筛选器时,构建步骤改为 dotnet build MyApp.slnf --no-restore -c Release。
验证:可安装 gh extension install moritztomasi/gh-workflow-validator 校验 YAML,或本地执行 dotnet restore --locked-mode、dotnet build --no-restore -c Release、dotnet test --no-build -c Release,再推送分支并开 PR 触发工作流。
限制:本技能仅提供起始模板,不涵盖可复用工作流、矩阵构建、部署流水线、发布自动化、环境晋级、签名发布、容器镜像构建与覆盖率强制等高级场景,这些需参考 dotnet-gha-patterns、dotnet-ado-patterns 等深度技能。