无论如何,通过在构建分支时首选最后一个构建节点而不是或多或少随机选择可用节点来使 Jenkins 多分支管道更好地支持增量构建?
细节:
我们正在为一个大型 Git 项目设置 Jenkins 多分支管道,我们使用 Make 来构建和测试大量代码。一个完整的构建需要 6-8 个小时,但是 Make 中的依赖跟踪足以让我们使用增量构建,从而大大缩短了我们的构建时间。为此,Jenkins 必须再次选择相同的工作区来更改相同的分支。幸运的是它这样做了——但只在同一个构建节点上。
我们有一些相同的 Jenkins 从节点可用。每次由于 Git 中的分支发生更改而启动构建作业时,Jenkins 显然会选择一个随机的免费构建节点,该节点具有全新、干净的工作区,这意味着没有增量构建加速。
我们尝试通过 NFS 构建,这样所有构建节点都可以共享工作空间,但至少我们可用的 NFS 服务器太慢了,无法完成这项工作。
有没有办法让詹金斯随机选择节点,而更喜欢上次构建分支的最新节点?