2013-02-14 129 views
7

我使用Maven多个詹金斯乔布斯建:我可以使用Maven依赖项触发Jenkins作业吗?

Job 1: Builds WebApp and deploys war to artifactory 
Job 2: Builds Core and deploys jar to artifactory 

Web应用程序对核心的依赖。

Jenkins是否可以解析POM,请参阅WebApp在Core上具有此依赖关系,从而在构建WebApp之前触发Job 2?这将确保WebApp使用最新的最新Core.jar

我可以通过Jenkins参数化触发器插件的Pre-Steps功能来实现此机制,但我希望能够从POM处理此问题。

谢谢。

回答

5

是的。

  1. 你需要设置的工作岗位作为Maven的工作

enter image description here

  • 在就业市场中选择复选框:建立每当快照依赖是建立。
  • enter image description here

    显然,这只是工作,如果相关性是快照依赖。

    +1

    这不仅仅是基于何时建立另一个依赖关系来触发它的工作吗?因此,使用我的示例,作业1将在Job 2创建时触发。这不是我想要的。 我想让作业1在作业1启动时触发作业2,因为它知道它对作业2中内置的项目具有依赖性。 – 2013-02-15 11:42:40

    +0

    是的,这是正确的。但相反地做这件事有什么问题呢?只要Job2看到任何变化,就会触发Job1,在我看来,这是一条可行的路。 – 2013-02-15 13:16:25

    3

    另一种选择是使用Maven Dependency Update trigger插件。这是如果您使用自由式作业而不是Maven作业类型。

    +0

    当构建非快照依赖关系时,这是否也会触发作业? – 2013-02-14 15:27:40

    +0

    您是否阅读过插件页面? “这个插件会检查是否有任何SNAPSHOT依赖项(或者可选插件SNAPSHOT)在项目的依赖关系解析期间被更新并触发构建。” – 2013-02-14 15:41:03

    +0

    是的,我读过它,但我很好奇它是否有能力做到这一点。我们目前正在使用快照,但这些插件似乎不支持这一点。 – 2013-02-15 07:24:09

    相关问题