我需要在git存储库中拥有版本文件。
当我们决定发布时,我有手动触发的发布过程(管道(,这个过程应该做:
- 克隆repo
- 运行测试
- 计算新版本
- 使用新版本更新版本文件
- 提交并推送新版本文件
- 使用新版本在git中创建标记/分支
现在,当我从这个标记进行克隆时,版本文件应该包含正确的版本。
如果测试运行时(#2(其他人向repo提交更改,那么#6中生成的标记是否也包含发布过程中未测试的更改,会发生什么?
这个流程的逻辑是正确的,还是我有更好的方法来管理版本文件?
版本不是静态存储的,而是文件的新修订版
这是因为存储该文件的新修订版意味着。。。Git存储库本身有一个需要获取的新提交,并迫使团队成员在新提交的基础上合并或重新构建自己的工作。
版本存储在生成时,即生成可交付成果时
例如,在Go中,您将使用传递到Go链接器的标志来初始化字符串变量。
这样,在运行时,二进制文件不仅可以生成版本,还可以生成您选择记录的任何其他构建时信息
我通常是这样集成的:
- 构建时的Git提交哈希
- 基于API更改的静态版本
- 启动生成的用户
- 生成日期
这样,您的程序可以显示许多关于其构建版本的信息。