在软件包的开发过程中,你怎么更新版本号?

2021-09-23 11:06:31 +08:00
 AndyAO

软件包的版本号往往存在于很多地方,对于 Python 来说,常常存在于:

  1. 打包配置文件( pyproject.toml )
  2. 文档生成器配置文件( source\conf.py
  3. 常规包的__init__.py中的__version__属性

如果使用版本控制工具的话,那么还有 gittag

因为这个问题感到有些头痛,去搜了下,发现 Python 世界中的解决方案可能是bump2version,目前已经用上了,可以只用一个命令就按照“语义化版本”的规则来对那些分散的版本号进行更新。

但是感觉这个工具的 star 挺少的,好像也并不是那么常用。

那么你们在开发软件包的过程中怎么样更改版本号呢?

是自己写个脚本还是有什么特别的工具?

1118 次点击
所在节点    问与答
5 条回复
weiceshi
2021-09-23 11:25:51 +08:00
存在数据库里,写个接口
CI 打包脚本里面调用接口获取当前版本
版本+1 后编译打包
然后调用接口改数据库版本,打 tag 等等
wzzzx
2021-09-23 11:31:33 +08:00
仓库存放一个版本文件,version.properties 。所有需要版本号的地方都从这个文件中获取
AndyAO
2021-09-23 11:52:53 +08:00
@wzzzx #2
这的确是个好思路,之前没有首先想到。

不过,对于代码文件来说问题不大,如果是不能运行的配置文件,好像不太行吧,例如 pyproject.toml 。

感觉还是需要安插件或者是写脚本之类的。
wzzzx
2021-09-23 14:11:22 +08:00
肯定是需要一段脚本去修改配置文件的。Jenkins 构建的时候可以做这些事
shadowfish0
2021-09-23 16:35:33 +08:00
我都是用的 git tag 来搞,Vue 和 spring boot 都找了相应的类库可以在编译时自动读入最近的 tag 信息,感觉这样挺好,git 记录里有 tag 也方便回滚

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX