用途:为 .NET 应用搭建 CI/CD 流水线,覆盖 GitHub Actions 与 Azure DevOps 的 YAML 配置,包含构建、测试、发布和部署阶段。
主要能力:提供 GitHub Actions 的构建+测试示例(含 Postgres 服务、dotnet restore/build/format/test、上传 trx 测试结果);构建并推送 Docker 镜像到 ghcr.io 的示例;Azure DevOps 的构建+测试流程,说明与 GitHub Actions 的任务差异(UseDotNet@2、PublishTestResults@2、script/displayName 写法、服务需单独 Docker 任务或服务连接);NuGet 包发布(dotnet pack 与 dotnet nuget push)。
核心原则:流水线即代码,YAML 提交到仓库;每次推送都构建和测试,缓存 NuGet 包,快速失败;一次构建、多环境部署(dev→staging→production);测试作为流水线门禁,未通过不部署。
反模式:不要为每个环境单独构建产物,应一次构建同一产物再逐环境部署;不要在 CI 中跳过格式检查,应加入 dotnet format --verify-no-changes;不要在流水线 YAML 中硬编码密钥,应使用流水线 secrets。
决策指引:开源项目用 GitHub Actions;企业 Azure 环境用 Azure DevOps Pipelines;Docker 部署用多阶段构建并推送镜像仓库;NuGet 库在打标签时执行构建→测试→打包→推送;数据库迁移在 CI 测试阶段运行,生产用脚本;环境晋升使用同一产物、不同配置。
限制:资料未提供具体安装命令、收费信息、平台支持范围及实际效果说明。