我最近一直在研究基于主干的开发(https://trunkbaseddevelopment.com),我们所做的工作非常适合该方法(小型团队,频繁发布,一些直接提交或寿命短的分支等)。
我唯一要做的就是标记发行版本。我们执行CI,但并非每次都投入生产,并且我们希望在代码交付到客户环境后增加(更改)版本。
我应该如何在主干基础开发中发布(以惯用的方式)?您对master的发布提交感觉如何?我可以看到两种方法(我正在使用Java + Maven位,只是应该采用的工具)。
方法1
方法2
第二种方法是在存储库的历史记录中保留一次提交,我不确定该如何处理。后一种方法使代码更具可追溯性,并且释放过程更简单。
顺便提一句,我不太关心错误修正等问题。我们确实发布了新版本。但是,如果需要修补程序,我们计划选择
答案 0 :(得分:1)
以真正的CI / CD方式将每个提交视为可释放的,而不是创建发行分支只是为了更新版本。
这样,您提交到主干的所有内容都是潜在发行版,除了注明发行给客户的唯一版本之外,无需执行其他任何过程。
关于唯一的版本号,我通常让CI工具将SNAPSHOT版本替换为<git commit date>-<short git commit hash>
之类的东西,其优点是