15

我在 Jenkins 有一份工作,有 2 个参数。我想运行另一个没有参数的计划,并从该计划中根据需要多次启动现有计划。

新计划需要安排为每 15 分钟运行一次(将由 Jenkins 的调度程序选项完成),该计划的代码将:

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

完成此操作后,我需要使用存储的每个键/值对运行现有作业。我可以使用 Jenkins(使用 1.406)开箱即用地做到这一点,还是必须远程调用现有工作?在“构建后操作”部分(计划的配置)中使用“构建其他项目”选项时,我看不到如何将参数从一个计划传递到另一个计划

谢谢

4

1 回答 1

18

有一个参数化触发器插件,一旦安装,您就可以在一次构建完成后触发参数化构建。

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

选项 A

  • Project1 执行,创建一个包含键/值对的文件
  • Project1 完成,配置为带参数执行 Project2(使用 Parameterized Trigger Plugin)
  • Project2 循环遍历键/值对,为每一个做你需要做的任何事情

选项 B

  • Project1 执行。对于每个键/值对,它都会访问以下 url http://server/job/<Project2 Name>/buildWithParameters?PARAM1=Value1&PARAM2=Value2(您需要替换为您的实际项目名称和参数名称/值)
  • Project2 采用这些参数并正常构建,在任何需要的地方使用参数值
于 2011-07-25T20:58:45.533 回答