SuperAPI AI 工具集

dotnet-gha-patterns

部署与运维

查看项目

更新于 10-16 02:33

技能介绍

用途:为 .NET 项目编写可组合的 GitHub Actions 工作流,覆盖可复用工作流、复合操作、矩阵构建、路径触发、并发控制、环境防护、缓存与手动触发等模式。

主要能力:

  • 可复用工作流(workflow_call):定义 inputs、outputs、secrets 契约,支持跨仓库引用(如 my-org/.github-workflows/.github/workflows/dotnet-build.yml@v1)与 secrets: inherit。
  • 复合操作(composite action):将共享步骤序列打包为单个可复用操作,适合共享的 setup/teardown 序列。
  • 矩阵构建:跨 TFM 与操作系统组合,支持 include/exclude、fail-fast: false,以及从 JSON 动态生成矩阵。
  • 路径触发:paths 白名单或 paths-ignore 黑名单,二者不可同时使用。
  • 并发组:用 concurrency 取消重复运行;部署场景应设 cancel-in-progress: false。
  • 环境防护规则:required reviewers、wait timer、分支限制、自定义防护规则及环境级 secrets。
  • 缓存:NuGet 包缓存(actions/cache@v4)、actions/setup-dotnet@v4 的 cache: true、.NET 9+ 构建输出缓存。
  • workflow_dispatch 输入:string、boolean、choice、environment 类型。

版本假设:GitHub Actions 工作流语法 v2;actions/setup-dotnet@v4 支持 .NET 8/9/10;actions/cache@v4。

使用方式:在 .github/workflows 下定义可复用工作流,在调用方用 uses: ./.github/workflows/xxx.yml 并传 with/secrets;复合操作放在 .github/actions/<name>/action.yml,用 runs.using: 'composite'。

限制与注意事项:paths 与 paths-ignore 不可混用;矩阵构建应设 fail-fast: false;bash 步骤使用 set -euo pipefail;缓存键需包含 runner.os;不要在 workflow 中硬编码 TFM;secrets: inherit 会传递全部密钥,敏感场景应显式声明。

范围外:起始 CI/CD 模板、CLI 发布流水线、基准测试 CI、Azure DevOps 模式、构建/测试细节、发布与部署工作流均不在本技能范围内。