dotnet-releaser:NET全自动化发布利器
项目介绍
dotnet-releaser是一款一键式命令行工具,专为简化.NET库和应用程序的发布周期而设计。它整合了构建、测试、覆盖率分析、跨编译、打包、创建版本记录等功能,并自动将这些成果部署到NuGet和GitHub中。该项目目前主要由其作者使用,但已对外开源,邀请开发者社区共同参与和受益。dotnet-releaser基于一系列杰出的OSS库,如dotnet-packaging、CommandLineUtils等,提供了对MSBuild、日志记录和GitHub交互的深度支持。
项目快速启动
要立即开始使用dotnet-releaser,遵循以下简单步骤:
-
安装全球工具:首先,在命令行中执行以下命令以全局安装dotnet-releaser。
dotnet tool install --global dotnet-releaser
-
初始化项目配置:导航至包含解决方案(
.sln
)或项目文件(.csproj
,.fsproj
, 或.vbproj
)的目录,然后运行:dotnet releaser new
此命令将在当前层级下生成一个
.dotnet-releaser.toml
配置文件,预填充基本设置。 -
本地试运行: 若要进行一次完整的本地构建测试,使用下面的命令(确保替换正确的配置文件路径):
dotnet releaser build --force dotnet-releaser.toml
要模拟整个发布流程,可使用
run
命令结合CI环境变量:dotnet releaser run --nuget-token "${NUGET_TOKEN}" --github-token "${GITHUB_TOKEN}"
应用案例和最佳实践
- grpc-curl: 展示如何通过dotnet-releaser分发多个可执行文件。
- lunet: 应用程序示例,展示了如何发布.NET全局工具至NuGet。
最佳实践:
- 自定义配置:根据项目需求,调整
.dotnet-releaser.toml
中的设置,例如指定不同的构建目标或自定义GitHub仓库信息。 - 集成GitHub Actions:在工作流文件中加入dotnet-releaser的命令,实现自动化版本发布过程,确保持续集成的流畅性。
典型生态项目
dotnet-releaser自身是.NET生态系统的一个强有力补充,常与其他项目协同工作,如用于处理Markdown解析的Markdig、模板引擎Scriban,以及包管理相关的工具,共同推动.NET项目的高效发布和管理。开发者可以利用dotnet-releaser来优化他们的CI/CD流程,特别是在频繁发布更新和维护跨平台应用时。
通过上述指导,您可以轻松地将dotnet-releaser融入您的.NET开发工作流中,享受更加自动化且高效的软件发布体验。记住,良好的配置和对工具的深入了解是最大化其效益的关键。