自动删除旧的构建和工件非常适合避免大量数据构建和填充磁盘。对于某些每天运行 0-5 次的作业,我们可能有这样的设置:
numToKeep: 20
daysToKeep: 10
但是通过此设置,当不再满足这些标准中的任何一个时,Jenkins 将清除历史数据。
例如,如果一个月的活动量较低(例如假期期间),则作业可能有两周没有运行。在这种情况下,Jenkins 将删除所有历史版本,因为它们早于 10 天。这不是想要的。
另一个例子:如果我们每天运行 5 次,我们可能会得到在达到 20 个项目限制之前仅 4 天的历史记录。这也不是想要的。
相反:
是否可以始终保留至少 10 次构建且至少 10 天的历史记录?
开箱即用的 Jenkins 无法做到这一点,但有一些插件可以实现更精细的控制。 discard-old-build 就是其中之一,但我确信还有其他的。