2

我们有一个 Jenkins 设置,我们在其中对 SCM 更改、验证进行增量构建,然后如果可行,则进行完整构建(从头开始)。这基本上是可行的,但是我们浪费时间在我们通常不使用的白天进行完整的构建。

我知道我们可以每晚触发完整的构建,但是我们的许多分支在几天内不会改变——然后我们可能会急于改变。因此,每晚建立每个分支也很浪费。

我真正想要的是某种机制,如果 SCM 发生更改并且增量构建和验证工作,我们只执行一次完整构建(比如在晚上) - 在增量构建和验证的情况下自动触发完整构建是没有意义的失败的。实际上,“增量构建和验证工作”就足够了——因为这些通常只在 SCM 更改时运行。

有什么建议么?是否有一些 Jenkins 扩展可以帮助解决这个问题?

4

1 回答 1

0

为了实现您的要求,您可以创建一个与现有作业相同的新作业,但让它每天只轮询 SCM 一次,以便每晚构建。将时间表设置为如下所示:H H(0-5) * * *.

在您的原始工作中,删除完整构建的构建后触发。

这将为您提供您所要求的几乎什么,除了每晚构建将执行增量构建,然后在增量构建成功时进行完整构建,而不仅仅是检查最后一个增量构建的结果。

但...

您试图避免的“浪费”的成本是多少?每晚运行一个完整的构建实际上要花多少钱?并且您是否最好尽快找出完整构建被破坏的时间,即在它被破坏的那天而不是第二天早上?

于 2013-09-26T06:34:15.740 回答