SuperAPI AI 工具集

dotnet-cli-release-pipeline

通用与其它

查看项目

更新于 10-16 01:27

技能介绍

用途:为 .NET CLI 工具构建统一的发布 CI/CD 流水线,从单个版本标签触发,产出全部发行格式并发布到多个包管理器。 主要能力:GitHub Actions 工作流,按 Runtime Identifier(RID)建立构建矩阵(如 linux-x64、linux-arm64、osx-arm64、win-x64),各任务打包 tar.gz 或 zip 并上传工件,汇总任务合并工件、生成 SHA-256 校验和、创建 GitHub Release(自动生成发布说明、识别预发布),并自动创建 Homebrew formula 与 winget manifest 的更新 PR;可选 Scoop、NuGet 发布。版本采用 SemVer 加 git 标签作为唯一版本来源,标签格式 v{major}.{minor}.{patch},预发布带 -rc.1 等后缀并跳过包管理器提交。 用法:打标签并推送触发流程:git tag -a v1.2.3 -m "Release v1.2.3" 与 git push origin v1.2.3。工作流从 GITHUB_REF_NAME 提取版本并传给 dotnet publish /p:Version。需要配置 NUGET_API_KEY、TAP_GITHUB_TOKEN、WINGET_GITHUB_TOKEN、SCOOP_GITHUB_TOKEN 等密钥,权限最小化为 contents: write。bash 步骤使用 set -euo pipefail。 适用场景:需要把同一版本 CLI 二进制分发到 GitHub Releases、Homebrew、winget、Scoop、NuGet 等项目。 限制与假设:基线 .NET 8.0+,示例使用 GitHub Actions 工作流语法 v2;模式可迁移到其他 CI,但示例仅限 GitHub Actions。本技能聚焦 CLI 发布流水线,通用 CI/CD 模式、Native AOT 编译配置、发行策略、包格式细节、容器镜像发布分别参见其他技能。生产环境建议将第三方 action 固定到提交 SHA。跨平台编译中 osx-arm64 需 macOS ARM64 运行器,Native AOT 跨编译需对应工具链。具体收费、价格与效果资料暂未提供。