Jenkins 中带有 Maven Release 插件的 Clearcase 它应该如何工作?

Posted

技术标签:

【中文标题】Jenkins 中带有 Maven Release 插件的 Clearcase 它应该如何工作?【英文标题】:Clearcase with Maven Release plugin in Jenkins how should it work? 【发布时间】:2013-03-02 23:51:51 【问题描述】:

我不确定 maven 发布插件如何与 clearcase 一起使用。清除这个 maven 应该如何在 clearcase 中工作。

Jenkins 正在分支 test_5.0.0 上构建,在 jenkins 中有一个名为 test_5.0.0 的工作 这个job是指向分支test_5.0.0的pom文件版本是5.0.0-SNAPSHOT

maven 中的发布插件如何与 clearcase 一起使用,它会成为基线吗? (我读过它创建标签?)

发布后新的pom版本为5.0.1-SNAPSHOT时。在这种情况下,作业名称错误,分支名称也错误。因此,对于每个版本,都必须创建一个新分支和新工作。

我在 git 世界中进行了此设置,现在尝试使用 jenkins、maven 和 nexus 设置 clearcase。一切都在构建和工作,但我无法找到一个良好的发布流程与 CM 在 clearcase 中设置的当前分支策略。你有什么建议?你如何使用 maven release 和 clearcase?

编辑: 当与 UCM 一起使用 clearcase 时,我们使用 ANT 和 IVY。我们没有使用任何“快照”,基本上所有内容都是 Maven 术语中的发布版本。这消除了对所谓发布的需求,我们对每个构建进行了基线化,并将最新的构建推广为发布。

我还找到了this link,但这是否适用于 UCM,而且它似乎是标签而不是基线?

/谢谢

【问题讨论】:

【参考方案1】:

根据我在“Apache Maven SCM implementation page”中看到的内容,maven 版本仅适用于 UCM 快照视图,不适用于基本 ClearCase。

所以maven-release-plugin 将创建一个 UCM 基线,而不是一个简单的标签。 例如,使用mvn release:branch 进行创建。

ClearCase 与 git 有很大不同(参见“What are the basic ClearCase concepts every developer should know?”)

由于您将仅使用 UCM,因此您需要考虑该方法所促进的分支/stream 层次结构(UCM:统一变更管理)

参见“Integration stream vs integration view in ClearCase”和“Simple deployment from ClearCase on Unix”。

【讨论】:

我在 base 和 UCM 之前都使用过 clearcase。当与 UCM 一起使用 clearcase 时,我们使用 ANT 和 IVY。我们没有使用任何“快照”,基本上一切都是 Maven 术语中的发布版本。使用 Maven 时,拥有快照和发布的概念开始发挥作用。我在尝试遵循 maven 实践与快照和发布分开时感到很痛苦,这似乎需要不同的分支策略来避免制作新的詹金斯工作。我已经澄清了我上面的问题。 @user1043825 可以肯定的是,在我的回答中,快照是指 ClearCase 快照视图,与 maven 中的快照与发布无关。

以上是关于Jenkins 中带有 Maven Release 插件的 Clearcase 它应该如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

致命错误编译:无效标志:Jenkins 上 jdk 11 的 --release?

Jenkins 的 maven 发布插件 - 如何设置父项目版本?

jenkins 从一个分支发布 Maven

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

Jenkins和maven自动化构建java程序

使用 jenkins 的空运行复选框执行 Maven 发布