Jenkins,Multijob,如何并行运行?

时间:2016-03-11 08:17:34

标签: jenkins jenkins-plugins

我们已经为我们的开发人员设置了一个Jenkins实例作为远程测试资源。每次创建与我们的refspec匹配的标记时,都会触发作业并将结果通过电子邮件发送给开发人员。

作业定义如下:

  1. 1个阶段,包括三个工作(前端测试,集成测试, 单元测试)
  2. 执行所有子作业,无论成功与否
  3. 通过电子邮件向开发人员发送测试结果
  4. 除两个问题外,此设置主要有效:

    1. 我无法让这项工作并行运行。 subjobs运行 并行,但一次只运行一个作业实例。这是 我可以在某处以不同的方式配置,或者这是固有的 在插件的工作方式?
    2. 主要工作检出并占用我们的一个构建服务器 工作的持续时间。有没有办法做git轮询然后呢 只需抓住hashref并释放构建服务器 在继续建立subjobs之前完成了民意调查?

1 个答案:

答案 0 :(得分:1)

  1. multi job plugin中,所有内容都在同一个"阶段"中列出并行运行,但是多工作本身需要在某个地方运行。如果你有一个构建后跟一个测试阶段,你可以添加一个"构建阶段"在测试阶段之前,只有那个阶段需要一个"构建服务器"。

  2. 有一个名为&#34的选项;必要时执行并发构建"这将允许同名的多个作业同时运行。必须为父作业和子作业设置此选项,因为Jenkins的默认行为是一次只允许一个项目(作业)的构建。注意:阅读评论,因为这可能会产生意想不到的副作用。

  3. 不清楚你对轮询的意思,但是如果使用git,你可能想要使用webhooks,以便推送到git仓库直接调用Jenkins。无需民意调查。