poetry-dynamic-versioning实战案例:让你的项目版本号自动更新
2026/8/14 11:41:06 网站建设 项目流程

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: 请检查:

  1. 是否正确安装了poetry-dynamic-versioning[plugin]
  2. Git仓库是否有提交记录和标签
  3. 配置文件中[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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询