Jenkins Mutualize SCM民意调查

时间:2014-11-08 15:11:44

标签: jenkins

使用Jenkins,我正在运行2个版本(Linux + Windows)和一个Doxygen作业 目前,我使用3个单独的SCM轮询触发器指向相同的源代码

如果我仍希望获得单独的状态,我如何为所有三个作业使用单个触发器
作为记录;底层SCM是Git

1 个答案:

答案 0 :(得分:1)

脱离我的头脑,一些解决方案可能会满足您的需求:

  • 不是设置SCM触发器,而是在存储库中使用post-receive挂钩,它可以向Jenkins发送有新更改的信号(请参阅:https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository)。这样Jenkins不必经常轮询存储库(不同作业多次),并且触发器会更快,因为没有等待下一次轮询,但是当有推送时,构建将会开始。
  • 使用额外的工作,不做任何其他工作,只需拥有SCM轮询触发器,然后启动所有三个原始工作(无需等待任何工作完成)。
  • 如果所有三个作业的配置相似,您可以考虑使用matrix configuration创建单个项目。它的作用大致是你可以为构建类型设置一个变量,其值如linux,windows,doxygen。当作业被触发时,它将以所有可能的值启动多个构建 - 当然,您必须以当前参数根据需要执行的操作更改构建过程的方式设置作业。实际上我还没有使用矩阵配置,所以我的例子可能不是最好的,但你可以在Jenkins wiki上找到很多例子,如果你认为这是一个好的方向。