.NET自动化发布终极指南:使用dotnet-releaser快速部署你的应用
dotnet-releaser是一款强大的.NET自动化发布工具,能够轻松构建、运行测试和覆盖率分析、交叉编译、打包并将你的.NET库或应用发布到NuGet和GitHub。本文将为你提供一个完整的指南,帮助你快速掌握使用dotnet-releaser进行应用部署的方法。
🚀 什么是dotnet-releaser?
dotnet-releaser是一个命令行工具,旨在简化.NET项目的发布流程。它集成了构建、测试、打包和发布等多个环节,让开发者能够专注于代码开发,而无需花费大量时间在繁琐的发布流程上。
🔧 安装dotnet-releaser
要开始使用dotnet-releaser,首先需要将其安装到你的开发环境中。你可以通过以下步骤进行安装:
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/do/dotnet-releaser
- 进入项目目录并构建:
cd dotnet-releaser
dotnet build
- 将工具安装到全局:
dotnet tool install --global --add-source ./src/dotnet-releaser/bin/Debug dotnet-releaser
⚙️ 配置dotnet-releaser
安装完成后,你需要为你的项目配置dotnet-releaser。配置文件通常命名为dotnet-releaser.toml,位于项目根目录下。这个文件定义了项目的发布设置,包括构建选项、测试配置、打包信息以及发布目标等。
基本配置示例
以下是一个基本的配置文件示例:
[project]
name = "MyProject"
version = "1.0.0"
authors = ["Your Name"]
description = "My awesome .NET project"
[build]
configuration = "Release"
frameworks = ["net6.0", "net7.0"]
[pack]
output = "nupkg"
include_symbols = true
[publish]
nuget = true
github = true
🔄 自动化发布流程
dotnet-releaser的核心优势在于其自动化的发布流程。一旦配置完成,你只需运行一个命令,即可完成从构建到发布的所有步骤。
完整发布命令
dotnet-releaser release --config dotnet-releaser.toml --github-token YOUR_GITHUB_TOKEN
这个命令将执行以下步骤:
- 构建项目
- 运行测试
- 生成覆盖率报告
- 打包项目
- 生成变更日志
- 发布到NuGet
- 创建GitHub发布
发布日志示例
运行发布命令后,你将看到类似以下的日志输出:
🔑 GitHub权限配置
为了让dotnet-releaser能够成功发布到GitHub,你需要正确配置GitHub令牌的权限。以下是必要的权限设置:
工作流权限设置
在GitHub仓库设置中,确保工作流权限设置为"Read and write permissions":
仓库访问权限
同时,确保你的GitHub令牌具有访问目标仓库的权限:
📝 变更日志管理
dotnet-releaser提供了强大的变更日志管理功能,支持自动和手动两种模式。
自动变更日志
默认情况下,dotnet-releaser会从你的拉取请求和提交中自动生成变更日志。你可以在配置文件中自定义变更日志的格式和内容。
详细的变更日志配置指南可以在doc/changelog_user_guide.md中找到。
手动变更日志
如果你 prefer 手动编写变更日志,可以在配置文件中指定变更日志文件的路径:
[changelog]
path = "CHANGELOG.md"
dotnet-releaser会自动提取与当前版本对应的变更日志内容,并将其添加到GitHub发布中。
📦 多平台打包
dotnet-releaser支持为多个平台打包你的应用程序。你可以在配置文件中指定目标平台:
[packaging]
platforms = ["win-x64", "linux-x64", "osx-x64"]
这将为每个指定的平台生成独立的包,方便用户在不同操作系统上使用你的应用。
🚀 快速开始使用
现在你已经了解了dotnet-releaser的主要功能,让我们快速开始使用它来发布你的.NET项目:
- 在项目根目录创建
dotnet-releaser.toml配置文件 - 根据你的项目需求配置文件内容
- 运行发布命令:
dotnet-releaser release --config dotnet-releaser.toml --github-token YOUR_GITHUB_TOKEN
dotnet-releaser将处理剩下的所有事情,让你能够专注于开发优秀的.NET应用程序!
📚 更多资源
- 项目源代码:src/dotnet-releaser/
- 测试示例:tests/HelloWorld/
- 变更日志指南:doc/changelog_user_guide.md
希望本指南能够帮助你快速掌握dotnet-releaser的使用,实现.NET项目的自动化发布。如有任何问题或建议,欢迎在项目仓库中提出。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







