Jenkins:在Build Pipeline中手动触发Maven Release

时间:2016-07-14 08:28:00

标签: jenkins maven-release-plugin jenkins-pipeline jenkins-2 delivery-pipeline

我的Jenkins(1.6)设置出现问题,到目前为止还没有找到解决方案。

我想做什么:

我有4个职位(StartJob,TestA,TestB,ReleaseJob),我想要一个"管道",它说:

  • 以" StartJob"
  • 开头
  • 之后,构建" TestA"和" TestB"
  • 两者" TestA" " TestB"已完成,让我手动触发ReleaseJob

到目前为止我尝试了什么

我使用Delivery Pipeline Plugin能够获得一个漂亮的管道视图,并且能够设置您可以在Post-Build Actions中简单定义的手动触发器。到目前为止,这非常有效。

我对此的第一次尝试是使用Join Plugin,这根本不起作用。它总是立即触发最后一次构建 - 无论是否" TestA"和" TestB"实际上是成功的。

对于我的第二次尝试,我使用Multijob Plugin并定义了两个阶段:第一阶段仅包括" StartJob"第二个包括" TestA"和" TestB"。之后我定义了" ReleaseJob"作为Post-build Actions中的手动触发器。这项工作正常,但我还没有指出如果我触发" ReleaseJob",它就不会将其作为" Maven Release"来运行。

我的问题

  • 有没有办法强制发布" Maven Release"作为一个" Maven Release"? (即你不应该只使用"立即构建"功能)

  • 您对如何以不同方式解决此问题有任何建议吗?

附加说明:

我还没有在Jenkins 2中使用过新的Pipeline系统 - 我只是将它设置为一个小测试。如果您不知道旧Jenkins的解决方案,但知道如何将其设置为"编码管道"在Jenkins 2中,我对此也非常感兴趣。

非常感谢和欢呼,

/ tehK

2 个答案:

答案 0 :(得分:1)

我认为Pipline插件的前身是Buildflow插件,我没有看到你提到尝试过。这个其他SO线程中有一个例子:

How do I make a Jenkins job start after multiple simultaneous upstream jobs succeed?

也许这会让你对如何使用它有所了解

答案 1 :(得分:0)

我知道你的问题是2岁,但是因为我想知道你是否找到了解决方案......

您是否尝试在构建后操作中使用 HTTP帖子来触发Jenkins作业上的M2-Release-Plugin?这是我的workaround,因为this task可能不会在短期内由Jenkins团队完成。