[英]How to build a pipeline of jobs in Jenkins?
在我的项目中,我有3个web应用程序,都依赖于一个all-commons
项目。
在我的Jenkins服务器中,我构建了4个作业, all-commons_RELEASE
, web-A_RELEASE
, web-B_RELEASE
和web-C_RELEASE
。 这些工作的作用是构建部署在Nexus上的工件。 然后,有人在Nexus中检索这些工件并将它们部署在我们的开发/认证服务器上。
我想要的是,有一个(额外的?)工作将按顺序启动所有4个版本。 这样,一旦完成此作业,所有RELEASE作业都已执行。 当然,如果一个构建失败,则该过程停止。
我的第一个想法是在all-commons_RELEASE
的Post-build Actions的Build other projects列表中指出web-A_RELEASE
all-commons_RELEASE
。 然后, web-B_RELEASE
依赖于web-A_RELEASE
,依此类推。
但是,我希望能够单独启动它们,如果我指出对项目的依赖性,这是不可能的。 例如,如果我手动启动web-B_RELEASE
,那么之后将构建web-C_RELEASE
,这不是我想要的......
你知道我怎么能做到这一点,或者一个插件来帮助我做到这一点?
问候。
ps:Jenkins 1.430,所有RELEASE作业都是自由式项目(它们混合了Maven和bash命令)。
也许您可以使用参数化触发插件 ?
使用该插件,您可以将触发器设置为“管道”作业中的构建步骤。 有一个复选框“阻止直到触发的作业完成”,您需要激活该复选框。 您可以简单地将这三个作业配置为以这种方式触发,并且只有在运行此新管道作业时才会触发,因此运行其他作业而不触发任何操作都可以正常工作。
这应该是你需要的。
不知道你是否已找到答案,但对于其他好奇的人:
您可以创建另一个作业build_all ,然后将每个其他构建作为构建步骤触发。
您想要的设置对于build_all看起来像这样,每个构建步骤都是“在其他项目上触发/调用构建”
确保选中“阻止直到触发的项目完成其构建”选项,以确保构建按顺序发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.