Gitflow引入了几个分支,例如develop
,release
,hotfix
,并鼓励使用功能分支。
在Maven项目中,通常会构建SNAPSHOT并发布版本,并经常使用语义的三位数版本对其进行编号。
尽可能使构建过程自动化是明智的,但问题是:何时构建SNAPSHOT版本,何时构建发行版本,何时不构建任何版本?
我认为以下内容很明智:
develop
时,就会触发SNAPSHOT构建并将其部署到Maven存储库。release
分支时,开始发布版本。但是还有更多情况:
release
(或hotfix
)分支上的错误时,我是否总是想要一个新的发行版?1.2.3-FEATURE1-SNAPSHOT
?)?将来将已构建的二进制文件部署到TST envs并进行检查时,决定是否发布版本。提交或构建时,您无法预测该版本是否为“发行版”。一旦放弃了这些想法,事情就会变得简单得多。
[使用持续交付(即使您没有充分利用它,您也可以借用它的想法),任何构建都可能会进入PRD,因此:
另外,我们通常要提到二进制文件是从哪个提交构建的。您可以在构建期间将其放入二进制文件(某种形式的version.properties
)中。为了方便起见,您甚至可以创建一个存储此版本的端点。