jenkins 从一个分支发布 Maven

Posted

技术标签:

【中文标题】jenkins 从一个分支发布 Maven【英文标题】:Maven release from a branch by jenkins 【发布时间】:2016-07-25 14:45:54 【问题描述】:

我必须使用 Jenkis 从分支执行 maven 发布并标记 RELEASE。同时,我需要更新主干上的版本(新 SNAPSHOT)。

例如:

/trunk 包含 Module_1.0.0-SNAPSHOT

/branches/Module_1.0.0-SNAPSHOT

/branches/Module_1.0.0-SNAPSHOT

上执行 Maven 发布后

/trunk 包含 Module_1.0.1-SNAPSHOT

/tag/Module_1.0.0-RELEASE

设置 maven-release-plugin 和 scm (url, connection, developerConnection), /tag/Module_1.0.0-RELEASE 和分支上的新版本是正确的。

但是,即使 developerConnection 指向主干也不会更新主干上的版本。

我怎样才能做到这一点? 提前谢谢。

【问题讨论】:

【参考方案1】:

如果您在分支 (/branches/Module_1.0.0-SNAPSHOT) 上运行 Maven 发布插件,它将:

更新此分支上的版本号 (1.0.0-SNAPSHOT --> 1.0.0) 在这个分支上应用标签(tag/1.0.0 或类似的东西) 将您的分支移至 1.0.1-SNAPSHOT

即使你设置了 developerConnection 属性,Maven 发布插件也不会更新你的主干分支的版本号。

如果你想增加主干上的版本号,你必须从主干释放(或从分支释放+合并你的分支到你的主干)。

【讨论】:

非常感谢,布鲁诺。我也是,我刚刚验证无法从分支发布并自动更新主干上的版本号。我将尝试从分支中释放并将执行合并分支的发布后脚本附加到主干。

以上是关于jenkins 从一个分支发布 Maven的主要内容,如果未能解决你的问题,请参考以下文章

如何为分支优化 Jenkins 工作区

jenkins发布代码选择不同分支

在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

如何在 jenkins 中部署,根据参数选择从特定的 git 分支获取源代码

Hudson/Jenkins Git 构建所有分支

如何让通用 Webhook 触发器插件与 Jenkins 中的多分支管道一起使用?