平时开发经常需要根据特定的 tag 来触发 github/gitlab/jenkins 流水线,但是版本管理比较麻烦,手动找 tag 经常搞得很随意,也不想每一个项目都配置一遍脚本,于是就写了个通用的工具(下面的文章主体是 AI 根据项目 README 生成的 👍)。
在日常的开发工作中,版本管理是一个不可或缺的环节。特别是在使用 CI/CD 流水线的项目中,我们经常需要通过 Git 标签来触发部署流程。但是手动管理版本标签往往会遇到以下问题:
正是为了解决这些痛点,我开发了 Tagger 这个小工具。它能够自动查找仓库中的最新标签,并按照语义化版本规范(Semantic Versioning)自动递增版本号。
在 Linux 或 macOS 上,只需要运行以下命令:
bashcurl -s https://get.mereith.com/tagger/tagger.sh | sh
Windows 用户可以使用 PowerShell 脚本:
powershellInvoke-WebRequest -Uri https://get.mereith.com/tagger/tagger.ps1 -OutFile tagger.ps1; .\tagger.ps1
最简单的用法是直接运行 tagger
命令,它会自动将修订版本号加一:
bash# 如果最新标签是 v0.0.1,运行后会生成 v0.0.2
tagger
如果你需要升级次版本或主版本:
bash# 升级次版本:v0.0.1 -> v0.1.0
tagger minor
# 升级主版本:v0.0.1 -> v1.0.0
tagger major
有时候我们需要在版本号前后添加特定的标识,比如:
bash# 添加环境标识:prod-0.0.1
tagger -p prod-
# 添加阶段标识:v0.0.1-beta
tagger -s -beta
# 组合使用:rc-0.0.1-alpha
tagger -p rc- -s -alpha
如果你的项目总是使用相同的前缀或后缀,可以设置默认值:
bash# 设置默认前缀
tagger set-default-prefix release-
# 设置默认后缀
tagger set-default-suffix -stable
设置后,直接运行 tagger
就会使用这些默认值。
Tagger 最适合与 CI/CD 流水线配合使用。例如,你可以用来触发流水线。
也你可以在代码合并到主分支后自动运行 Tagger 来创建新的版本标签,进而触发部署流程。
Tagger 虽然是一个简单的工具,但它能够有效地解决版本标签管理的痛点。通过自动化和标准化的方式管理版本标签,不仅可以提高工作效率,还能减少人为错误。特别是在现代 CI/CD 环境中,它能够很好地配合自动化流程,让版本管理变得更加轻松。
希望 Tagger 能够帮助到你的开发工作!如果你有任何建议或问题,欢迎在 GitHub 上提出 issue。
本文作者:mereith
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!