Versionize 使用教程
项目介绍
Versionize 是一个用于自动版本管理和 CHANGELOG 生成的开源工具,支持基于语义版本(semver)和常规提交(conventional commits)的 .NET 项目。它通过 Git 标签来确定当前版本,并根据提交信息自动更新版本号和生成 CHANGELOG 文件。
项目快速启动
安装 Versionize
首先,确保你已经安装了 .NET SDK。然后,你可以通过以下命令安装 Versionize:
dotnet tool install --global Versionize
初始化项目
创建一个新的 .NET 项目并初始化 Git 仓库:
dotnet new classlib -n MyProject
cd MyProject
git init
在项目文件 MyProject.csproj
中添加版本信息:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>1.0.0</Version>
</PropertyGroup>
</Project>
提交更改并生成版本
进行一些更改并提交:
echo "public class Class1 {}" > Class1.cs
git add .
git commit -m "chore: initial commit"
使用 Versionize 生成版本和 CHANGELOG:
versionize
应用案例和最佳实践
自动版本更新
Versionize 会根据提交信息自动更新版本号。例如,修复提交会触发补丁版本更新:
git commit -a -m "fix: something went wrong we need a bugfix release"
versionize
生成 CHANGELOG
每次版本更新时,Versionize 会自动生成或更新 CHANGELOG.md 文件,记录所有更改。
预发布版本
你可以使用预发布选项来生成预发布版本:
git commit -a -m "feat: some additional feature"
versionize --pre-release alpha
典型生态项目
结合 GitHub Actions
你可以结合 GitHub Actions 来自动化版本管理和发布流程。创建一个 .github/workflows/release.yml
文件:
name: Release
on:
push:
branches:
- main
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '5.0.x'
- run: dotnet tool restore
- run: dotnet versionize
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 'chore: release version'
这个工作流会在每次推送到 main
分支时自动运行 Versionize 并提交更改。
通过以上步骤,你可以快速上手并充分利用 Versionize 进行 .NET 项目的版本管理和 CHANGELOG 生成。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考