使用 gitflow-maven-plugin 从发布分支发布到 master 的正确 maven 命令是啥?

Posted

技术标签:

【中文标题】使用 gitflow-maven-plugin 从发布分支发布到 master 的正确 maven 命令是啥?【英文标题】:What's the right maven command for releasing from release branch to master with gitflow-maven-plugin?使用 gitflow-maven-plugin 从发布分支发布到 master 的正确 maven 命令是什么? 【发布时间】:2020-03-23 00:49:55 【问题描述】:

我正在使用 gitflow-maven-plugin 在 IntelliJ 中测试版本控制,我想手动更新主要和次要版本:

mvn -B gitflow:release-start -DcommitDevelopmentVersionAtStart=true -DversionDigitToIncrement=0

在这个命令之后,创建了一个新的发布分支,叫做'release/1.0.14',现在pom文件中的开发分支版本是'1.1.0-SNAPSHOT'(这是我想要的,它更新了minor,但是我不确定为什么发布分支是1.0.14),下一步是更新到master分支,我试过了:

-B gitflow:release-finish -DversionDigitToIncrement=0 -X

但这不是我想要的,我猜master会先更新到1.0.14,然后再更新到1.1.0?但是在这个命令之后,develop中的版本变成了1.0.15-SNAPSHOT,不知道这样做的正确方法是什么,任何想法都将不胜感激。

【问题讨论】:

【参考方案1】:

Gitflow 定义了两个永久分支(masterdevelop)。 master 分支包含生产就绪版本(已发布版本)。 如果您开始发布,您当前的代码库从 develop 用于创建到 release/x.y.z 分支,当您完成发布时,release/x.y.z 分支将合并回 masterdevelop

版本更新在目标:release-start 中完成,您可以影响develop 分支更新的顺序:commitDevelopmentVersionAtStart

例如分支developmentpom.xml 中的版本是1.0.14-SNAPSHOT 如果你现在执行:

mvn gitflow:release-start -B -DversionDigitToIncrement=1 -DcommitDevelopmentVersionAtStart=true 

您应该最终得到一个新的发布分支release/1.0.14,其版本为1.0.14,并且分支development 上的pom.xml 版本更新为1.1.0-SNAPSHOTmaster 上的版本尚未更新(尚未)。要“更新”master 上的版本,您需要完成发布。


我有点误解了你的问题 - 因此我还添加了你在另一个问题中提出的这部分。

查看文档:gitflow-maven-plugin(搜索:versionDigitToIncrement

gitflow:release-finish 和 gitflow:release 目标具有 versionDigitToIncrement 参数,该参数控制在下一个开发版本中增加哪个数字。从零开始。例如,如果发布版本是 1.2.3.4 并且 versionDigitToIncrement 设置为 1,那么下一个开发版本将是 1.3.0.0-SNAPSHOT。如果未设置或设置为无效值,则默认增加版本中的最后一位。

来自1.0.14-SNAPSHOT

versionDigitToIncrement: 0development 的主要版本更新为 2.0.0-SNAPSHOTversionDigitToIncrement: 1development 的主要版本更新为 1.1.0-SNAPSHOTversionDigitToIncrement: 2development 的主要版本更新为 1.0.15-SNAPSHOT

但是似乎忽略了 cli 上传递的 -DversionDigitToIncrement。在pom.xml 的配置区域中设置它会产生预期的结果。

<plugin>
  <groupId>com.amashchenko.maven.plugin</groupId>
  <artifactId>gitflow-maven-plugin</artifactId>
  <version>1.14.0</version>
  <configuration>
    <versionDigitToIncrement>1</versionDigitToIncrement>
  </configuration>
</plugin>

【讨论】:

以上是关于使用 gitflow-maven-plugin 从发布分支发布到 master 的正确 maven 命令是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用存储过程从视图中检索或过滤数据是不是比使用存储过程从表中获取或过滤数据更快?

如何使用 graphql 从 Firebase 使用 Flutter 从 Cloud Firestore 获取数据?

使用 RTSP 从 Opencv 处理后,视频从 PC 流式传输到 Android

从哪里 clickonce 从 regedit 获取 DisplayName 中使用的值?

如何使用自适应卡操作从自适应卡获取用户响应。使用 Microsoft Bot Framework 从 MS Teams 频道提交操作?

无法从使用推送从苹果开发者帐户创建的 aps_production 创建 p12