我如何让詹金斯构建颠覆存储库的每个修订版

2024-04-09

我们使用 jenkins 进行持续集成,使用每 10 分钟一次的标准轮询方案,并且效果很好。

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

我想出的唯一方法是在 svnserver 上使用提交后挂钩,在 jenkins 服务器上排队作业,但我不想这样做,因为它需要在防火墙中设置一个新的漏洞(我认为詹金斯将所有排队的作业折叠成一个)。


我自己还没有尝试过,但您也许可以使用另一个构建来触发您的颠覆构建。

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

有多种方法可以做到这一点,但如果我这样做,我可能会让主构建使用 python 构建步骤来计算所有修订,然后我会使用参数化触发器插件 https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin对辅助构建进行排队。

最后一步可能有点混乱,因为我不知道有任何插件可以让您对多个构建进行排队。这是蛮力,但您可以设置一系列构建变量(SVN_REV_1、SVN_REV_2,...),然后设置多个触发器(每个潜在变量一个)。只要你拥有的这些内容比你经历过的新修订还要多,你就应该做得很好。 (注意:可能有更好的方法来做到这一点)

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何让詹金斯构建颠覆存储库的每个修订版 的相关文章

随机推荐