如何让jenkins构建subversion存储库的每个版本

时间:2011-11-29 12:48:55

标签: svn jenkins artifacts

我们使用jenkins每10分钟计划使用标准民意调查进行持续整合,并且工作正常。

现在我想设置一个在repro中的每个修订版上运行的作业,它将生成或多或少是与特定提交相对应的二进制补丁。

我想通过的唯一方法是在svnserver上使用post-commit挂钩在jenkins服务器上排队作业,但我宁愿不这样做,因为它会要求防火墙上有一个新的洞(和我认为jenkins将所有排队的工作合并为一个。)

1 个答案:

答案 0 :(得分:3)

我自己没有尝试过这个,但是你可以使用另一个构建来触发你的颠覆构建。

例如,您可以设置一个构建,该构建每隔10分钟从您的subversion存储库执行标准轮询。然后让此构建确定自上次以来发生的所有新修订号。然后让它排队多个参数化构建(每个版本一个)。

有很多方法可以做到这一点,但如果我这样做,我可能会让主构建使用python构建步骤来计算所有修订,然后我会使用parameterized trigger plugin来排队二次构建。

这最后一步可能有点乱,因为我不知道任何允许你排队多个构建的插件。这是一种蛮力,但您可以设置一系列构建变量(SVN_REV_1,SVN_REV_2,...),然后设置多个触发器(每个潜在变量一个)。只要你拥有更多它们,那么你就会有新的修改,你应该是好的。 (注意:可能有更好的方法可以做到这一点)

为了确保您不会错过任何一个,我建议您每分钟增加一次投票。我们在这里为我们的一个构建做了类似的事情,并且更多的轮询负载从来都不是问题。