maven-release-plugin 可以在两个远程存储库中创建标签吗?

Posted

技术标签:

【中文标题】maven-release-plugin 可以在两个远程存储库中创建标签吗?【英文标题】:Can maven-release-plugin create a tags in two remote repositories? 【发布时间】:2017-08-08 15:33:41 【问题描述】:

我有两个 maven 存储库:repo1repo2。它们没有连接(我的意思是没有父\子\依赖关系)

我想使用 ma​​ven-release-plugin 在存储库中创建标签。

是否可能出现以下情况:

我在 repo1 中执行 release:preparerelease:perform。在 repo1repo2 中创建新标签和分支。

如果这不可能,如果它们是两个存储库中的任何关系,这是否可能?

我使用 git 存储库。

【问题讨论】:

所以你的意思是有两个项目存在于两个不同的存储库中?因此,您发布了位于 repo 1 中的项目 1,那么为什么需要在项目 2 的 repo 2 中制作标签? repo2 是repo1 分支的副本。有些用户无权查看 repo1,只能查看 repo2。我想自动创建 repo2 的版本,当我发布 repo1 时不要手动执行它。而且我不确定所描述的操作是这里的最佳解决方案,我已准备好听取有关如何以其他方式执行此操作的建议:) 【参考方案1】:

maven-release-plugin 仅适用于在 pom.xml 中配置的 SCM-URL。

不能在两个不同的 git 存储库中创建标签或分支。

也许服务器端 git hooks 可能是您的解决方案。

[...]

接收后

post-receive 钩子在整个过程完成后运行,可用于更新其他服务或通知用户。

示例包括通过电子邮件发送列表、通知持续集成服务器或更新工单跟踪系统 - 您甚至可以解析提交消息以查看是否需要打开、修改或关闭任何工单。

[...]

在一台 git 服务器上安装 post-receive 钩子,并根据您的条件在另一台 git 服务器上创建新标签或分支。

【讨论】:

谢谢,我会试试的。

以上是关于maven-release-plugin 可以在两个远程存储库中创建标签吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 maven-release-plugin 转换术语

maven-release-plugin 和表达式的问题

maven-release-plugin 标签创建

为啥 maven 不替换 maven-release-plugin 发布版本的环境变量?

与 maven-release-plugin 一起使用的正确工作流程是啥?

使用 maven-release-plugin 部署程序集包