软件包的版本号往往存在于很多地方,对于 Python 来说,常常存在于:
__init__.py
中的__version__
属性如果使用版本控制工具的话,那么还有 git
的 tag
。
因为这个问题感到有些头痛,去搜了下,发现 Python 世界中的解决方案可能是bump2version
,目前已经用上了,可以只用一个命令就按照“语义化版本”的规则来对那些分散的版本号进行更新。
但是感觉这个工具的 star 挺少的,好像也并不是那么常用。
那么你们在开发软件包的过程中怎么样更改版本号呢?
是自己写个脚本还是有什么特别的工具?
1
weiceshi 2021-09-23 11:25:51 +08:00
存在数据库里,写个接口
CI 打包脚本里面调用接口获取当前版本 版本+1 后编译打包 然后调用接口改数据库版本,打 tag 等等 |
2
wzzzx 2021-09-23 11:31:33 +08:00
仓库存放一个版本文件,version.properties 。所有需要版本号的地方都从这个文件中获取
|
3
AndyAO OP @wzzzx #2
这的确是个好思路,之前没有首先想到。 不过,对于代码文件来说问题不大,如果是不能运行的配置文件,好像不太行吧,例如 pyproject.toml 。 感觉还是需要安插件或者是写脚本之类的。 |
4
wzzzx 2021-09-23 14:11:22 +08:00
肯定是需要一段脚本去修改配置文件的。Jenkins 构建的时候可以做这些事
|
5
shadowfish0 2021-09-23 16:35:33 +08:00
我都是用的 git tag 来搞,Vue 和 spring boot 都找了相应的类库可以在编译时自动读入最近的 tag 信息,感觉这样挺好,git 记录里有 tag 也方便回滚
|