V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
AndyAO
V2EX  ›  问与答

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

  •  1
     
  •   AndyAO · 2021-09-23 11:06:31 +08:00 · 1180 次点击
    这是一个创建于 1188 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

    感觉还是需要安插件或者是写脚本之类的。
    wzzzx
        4
    wzzzx  
       2021-09-23 14:11:22 +08:00
    肯定是需要一段脚本去修改配置文件的。Jenkins 构建的时候可以做这些事
    shadowfish0
        5
    shadowfish0  
       2021-09-23 16:35:33 +08:00
    我都是用的 git tag 来搞,Vue 和 spring boot 都找了相应的类库可以在编译时自动读入最近的 tag 信息,感觉这样挺好,git 记录里有 tag 也方便回滚
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1094 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:49 · PVG 02:49 · LAX 10:49 · JFK 13:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.