如何在另一个参数化作业运行后运行参数化作业(无需参数)

15

我在Jenkins中有一个带有2个参数的作业。 我想运行另一个计划,该计划没有参数,并从该计划中启动现有计划,以实现所需次数。

新计划需要定期每15分钟运行一次(将使用Jenkins的调度程序选项完成),该计划的代码将:

  • 连接到数据库
  • 获取所需记录集
  • 开始循环记录集
    • 存储键/值对(现有作业的参数)
  • 结束循环

完成后,我需要使用存储的每个键/值对运行现有作业。 我可以直接在Jenkins中这样做吗(使用1.406),还是必须远程调用现有作业?

当在“后构建操作”部分(计划配置)使用“构建其他项目”选项时,我不知道如何将参数从一个计划传递到另一个计划。

谢谢

1个回答

18

有一个名为Parameterized Trigger Plugin的插件,安装后可以在构建完成后触发参数化构建。

实现你想要的最简单的方法是安装此插件,并使用你要构建的键值列表构建项目一次。如果由于某种原因需要在第一个作业完成后执行多次构建,则可以使用远程 API 从第一个项目开始启动构建。所以你有两个选择:

选项 A

  • Project1 执行,创建一个带有键值对的文件
  • Project1 完成,配置为使用 Parameterized Trigger 插件执行 Project2 的参数
  • Project2 循环遍历键值对,对每个键值对执行所需操作

选项 B

  • Project1 执行。对于每个键值对,它会访问以下 URL:http://server/job/<Project2 Name>/buildWithParameters?PARAM1=Value1&PARAM2=Value2(您需要替换为实际项目名称和参数名称/值)
  • Project2 取这些参数并像平常一样构建,将参数值用在它需要的地方

谢谢Laepdjek;我会尽快查看Parameterized Trigger插件。 - user706058
非常感谢您!!(我已经搜索了很长时间的buildWithParameters?PARAM1=Value)。 - akozin
使用Parameterized build插件,我可以在上游任务成功构建后启动两个参数化任务吗? - Amit
通过仅在第一个任务成功后启动依赖任务来解决上述问题。这样,我可以拥有尽可能多的依赖任务。无论如何,感谢插件建议..在某些情况下,这肯定会派上用场.. - Amit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接