Continuous integration 如何在詹金斯建立就业渠道?

Continuous integration 如何在詹金斯建立就业渠道?,continuous-integration,hudson,jenkins,Continuous Integration,Hudson,Jenkins,在我的项目中,我有3个web应用程序,它们都依赖于一个all commons项目 在我的Jenkins服务器中,我创建了4个作业,all-commons\u RELEASE,web-A\u RELEASE,web-B\u RELEASE和web-C\u RELEASE。 这些作业的作用是构建工件,这些工件部署在我们的Nexus上。然后,有人在Nexus中检索这些工件,并将它们部署到我们的开发/认证服务器上 我想要的是,有一个(额外的?)作业,以顺序的方式启动所有4个构建。 这样,一旦此作业完成,

在我的项目中,我有3个web应用程序,它们都依赖于一个
all commons
项目

在我的Jenkins服务器中,我创建了4个作业,
all-commons\u RELEASE
web-A\u RELEASE
web-B\u RELEASE
web-C\u RELEASE
。 这些作业的作用是构建工件,这些工件部署在我们的Nexus上。然后,有人在Nexus中检索这些工件,并将它们部署到我们的开发/认证服务器上

我想要的是,有一个(额外的?)作业,以顺序的方式启动所有4个构建。 这样,一旦此作业完成,所有发布作业都已执行。 当然,如果一个构建失败,该过程将停止

我的第一个想法是在
all-commons\u RELEASE
的构建后操作的构建其他项目列表中指出
web-A\u RELEASE
。 然后,
web-B_发布
依赖于
web-A_发布
,依此类推

但是,我希望能够单独启动其中任何一个,如果我指出依赖于项目,这是不可能的。例如,如果我手动启动
web-B_发行版
,那么
web-C_发行版
将在此之后生成,这不是我想要的

你知道我怎样才能做到这一点吗,或者有一个插件可以帮助我做到这一点吗

问候

ps:Jenkins 1.430,所有发布作业都是自由风格的项目(它们混合了Maven和bash命令)。

也许您可以使用

使用该插件,您可以将触发器设置为“管道”作业中的构建步骤。有一个复选框“阻止直到触发的作业完成”,您需要激活该复选框。您可以简单地将三个作业配置为以这种方式触发,并且只有在运行此新管道作业时才会发生触发,因此在不触发任何内容的情况下运行其他作业可以正常工作


这正是您需要的。

不知道您是否已经找到了答案,但对于其他好奇的人:

您可以创建另一个job build_all,然后将其他每个构建作为构建步骤触发

对于build_all,您希望的设置如下所示,每个构建步骤都是“在其他项目上触发/调用构建”

  • 构建步骤1:all-commons_发布
  • 构建步骤2:web-A_发布
  • 构建步骤3:web-B_发布
  • 构建步骤4:web-C_发布
确保选中“阻止,直到触发的项目完成其生成”选项,以确保生成按顺序进行。

尝试此操作

您可以按如下顺序运行或生成作业:

build("job1")
build("job2")
.
.
build("job-n")

顺便说一句,我已经尝试了buildpipeline插件(),但它对我没有帮助,因为它需要直接定义作业中的依赖项。或者可能我错过了这个插件中的一些东西?我们正在使用管道插件来解决上述情况,正如您所描述的。这些工作必须手动解雇。