poetry-dynamic-versioning实战案例:让你的项目版本号自动更新
【免费下载链接】poetry-dynamic-versioningPlugin for Poetry to enable dynamic versioning based on VCS tags项目地址: https://gitcode.com/gh_mirrors/po/poetry-dynamic-versioning
poetry-dynamic-versioning是一款为Poetry打造的动态版本管理插件,能够根据VCS标签自动生成和更新项目版本号,彻底告别手动修改版本的繁琐流程。无论是开发测试还是正式发布,它都能帮你实现版本管理的自动化与标准化。
📦 快速安装:三步开启自动版本管理
1. 安装插件
通过Poetry命令快速安装最新版插件:
poetry add "poetry-dynamic-versioning[plugin]" --dev如果你使用Pipx安装Poetry,需执行:
pipx inject poetry "poetry-dynamic-versioning[plugin]"
2. 配置pyproject.toml
在项目配置文件中添加以下内容,启用动态版本管理:
[tool.poetry-dynamic-versioning] enable = true vcs = "git" # 支持git、hg等版本控制系统3. 初始化版本控制
执行以下命令完成插件初始化:
poetry dynamic-versioning enable⚙️ 核心功能:让版本号自己"生长"
基于Git标签的智能版本生成
插件会自动分析Git标签历史,生成符合语义化版本规范的版本号。例如:
- 当最新标签为
v1.2.3且有3个新提交时,版本号会自动生成为1.2.4.dev3 - 打上新标签
v1.3.0后,版本号会同步更新为正式版1.3.0
多场景版本应用
通过配置pyproject.toml,可以将动态生成的版本号应用到多个场景:
1. 项目元数据(pyproject.toml)
[tool.poetry] name = "your-project" version = "0.0.0" # 此处会被插件自动替换2. 源码文件(如__init__.py)
添加版本占位符:
__version__ = "0.0.0" # {poetry-dynamic-versioning}在配置文件中指定替换规则:
[tool.poetry-dynamic-versioning.substitution] files = ["your_project/__init__.py"]3. 文档文件
自动更新文档中的版本信息:
[tool.poetry-dynamic-versioning.files."docs/version.txt"] content = "Current version: {version}"🚀 实战应用:从开发到发布的全流程
开发阶段:自动生成开发版本
在日常开发中,每次提交代码后,版本号会自动更新为开发版本格式:主版本.次版本.修订号.dev提交次数。执行poetry build时,插件会自动注入当前动态版本:
poetry build # 生成包含动态版本的分发包发布阶段:一键打标签发布
当需要发布正式版本时,只需创建Git标签并推送:
git tag v1.0.0 git push origin v1.0.0插件会自动识别新标签并将版本号更新为1.0.0,无需手动修改任何文件。
🛠️ 高级配置:定制你的版本规则
自定义版本格式
通过format选项定制版本号格式:
[tool.poetry-dynamic-versioning] format = "v{major}.{minor}.{patch}-{commit}"分支特定版本规则
为不同分支设置差异化版本策略:
[tool.poetry-dynamic-versioning.branch."dev"] format = "{version}-dev" [tool.poetry-dynamic-versioning.branch."release/*"] format = "{version}-rc{distance}"完整配置示例
查看项目中的pyproject.toml文件,可获取完整的配置样例和参数说明。
🔍 常见问题与解决方案
Q: 版本号没有自动更新怎么办?
A: 请检查:
- 是否正确安装了
poetry-dynamic-versioning[plugin] - Git仓库是否有提交记录和标签
- 配置文件中
[tool.poetry-dynamic-versioning]部分是否正确设置
Q: 如何在CI/CD流程中使用?
A: 在CI脚本中添加:
poetry self add "poetry-dynamic-versioning[plugin]" poetry dynamic-versioning📚 学习资源
- 官方文档:README.md
- 配置参考:pyproject.toml
- 变更记录:CHANGELOG.md
通过poetry-dynamic-versioning,你可以将版本管理从手动操作转变为自动化流程,让团队更专注于代码开发而非版本号维护。立即尝试,体验现代化版本管理的便捷与高效!
【免费下载链接】poetry-dynamic-versioningPlugin for Poetry to enable dynamic versioning based on VCS tags项目地址: https://gitcode.com/gh_mirrors/po/poetry-dynamic-versioning
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考