如何避免在源代码中保留版本号?

居特利:

到目前为止,我们将python源代码的版本号保留在setup.py中。

每次成功运行ci后,此版本都会增加。

这意味着中央库的版本每天都会增加几次。

由于版本号存储在git repo的文件中,因此版本号的每次增加都是新的提交。

这意味着大约50%的提交不是由人做出的,而是由CI做出的。

我有一种感觉,我们走错了路。将版本号保留为ci可能不是一个好的解决方案。

我们如何避免仅增加版本号的“无用” CI提交?

如何避免在源代码中保留版本号?

更新资料

几年来,我们一直没有人工发布。我们没有像MAJOR.MINOR这样的版本控制方案。我们过去从未错过这一点。我知道这并不适用于所有环境。但这适用于我当前的环境。

我们有一个看起来像这样的版本号:YEAR.MONTH.X

这意味着每个通过CI的提交都是一个新版本。

阅读答案后,我意识到:我需要问自己:我是否有版本号我觉得不行。我有一个内部编号在这种情况下,不需要更多。

(感谢您的投票。在问这个问题之前,我已经确定这个问题将结束,因为人们会认为这是“不清楚”或“范围太广”)

hackape:

前提:

我假设这些是讨论解决方案的前提。

  1. 当前版本号保存在git跟踪的源文件中,但是您可以摆脱它。
  2. 没有人手动管理版本号,也没有触发发布过程,该过程包括:(a)增加版本号,(b)从源代码构建,以及(c)将构建结果存储在某个地方。这些由CI负责,应该保持这种状态。

解:

  1. CI无需写入源文件并创建新的提交,而只需标记通过CI检查的特定提交,然后将标签推送到远程仓库即可。
  2. 构建脚本应读取当前HEAD提交的标签,并将其用作发布发行版的版本号。
  3. (可选)您可能希望使用它git filter-branch来重写现有的git repo历史记录,标记以前的版本提交以保持一致性,删除并停止跟踪版本号源文件,然后摆脱那些CI提交。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章