【发布时间】:2014-05-02 18:24:11
【问题描述】:
我只有使用 SVN 命令(通过 tortoiseSVN)发布的经验,但我想改用 maven-release-plugin。但我的经验是 maven-release-plugin 非常非常挑剔。我想知道我应该如何发布和分支,所以我不会与插件对抗。对于这两种情况,正确的 maven-release-plugin 工作流程是什么:
-
每个人都在开发主干,我们决定为客户提供一个版本。
我猜你应该为此在主干上设置
release:prepare release:perform。它将版本放在标签目录中。您将标签提供给客户。 -
我们向客户提供了一个版本,但发现了一个错误。我如何着手修复他们版本中的错误并给他们一个新版本?
我的猜测是您应该使用标签上的
release:prepare release:branch将标签复制到分支目录中。将分支放在名为“release-version.x”的目录中,但给分支一个 maven 版本,如“release-version.1”修改该分支以修复错误后,使用 @ 将分支释放回标记目录987654325@。该分支现在将具有“release-version.2”的 maven 版本如果之后需要修复另一个错误,只需修改已有的“release-version.x”分支,然后在其上运行另一个
release:prepare release:perform。 -
您希望“冻结”分支上的开发并可能将其提供给客户,但您很确定在准备部署之前会在其中发现错误到生产服务器。
我的猜测是你可以发布 .0 并且当/如果找到分支时将 .0 分支到 .1-SNAPSHOT,在 SNAPSHOT 中修复它并将分支发布到 .1。
但是,您可能不喜欢客户首先获得 .1 或 .2 版本的想法。如果您不喜欢这样,您可以使用release:branch 目标先创建分支,然后仅在您准备好时发布该分支。
这都是理论。正如我之前所说,maven-release-plugin 非常挑剔,我不知道它是否能让我完成所有这些步骤。有人可以解释在 maven 中用于标记和分支代码的最佳工作流程吗?
【问题讨论】:
-
这些问题似乎更多是关于 SVN 分支和发布工作流程,而不是关于 maven-release-plugin。您是否尝试过从标签创建分支、修复错误,然后从分支中运行 maven:prepare?我用 git 做到这一点。
标签: java maven svn maven-release-plugin