【问题标题】:Configure Jenkins project to run one job on multiple nodes at the same time配置 Jenkins 项目同时在多个节点上运行一个作业
【发布时间】:2016-12-20 01:23:24
【问题描述】:

我管理一个小型构建农场,其中包括一个在 Windows Server 2008 上运行的 Jenkins 1.651.3 主服务器,以及在 Windows 7 PC 上运行的十几个从服务器(节点)。

我做了一个 Jenkins 多配置作业,每晚刷新所有 12 台从机上的构建脚本文件夹。该作业只是将文件从 SVN 存储库检出到路径 C:\Dev\Build;它不会编译文件或对文件做任何其他事情。

我选择“执行 Windows 批处理命令”作为构建步骤来运行一个简单的命令,例如"svn checkout https://mysvn/build C:\Dev\Build"。

然后我在配置矩阵的 Slaves 轴中选择了十二个从站作为“单个节点”。

slave 都配置了单个执行器,因此一次只运行一个 Jenkins 作业(这是我继承此设置时的配置方式)。

所以问题来了:如果说这个多配置项目中的“作业 A”在“节点 X”上停滞不前,因为节点 X 上的执行程序正忙于运行来自不同 Jenkins 项目的作业,看起来作业 B、C , D 等等到停顿的作业 A 可以运行,即使其他节点 Y、Z 等处于空闲状态。我可以看到节点 X 上的作业 A 和节点 Y 上的作业 B 之间有几个小时的差距 - 这对我来说没有意义,作业 A 和作业 B 之间没有依赖关系。

我是否错误地解释了这种行为?每个作业不应该独立于其“兄弟姐妹”运行吗?

有没有更好的方法让 Jenkins 在多个节点上同时运行一个简单的 svn checkout 作业,而不必等待每个作业完成后再运行下一个作业?

【问题讨论】:

标签: jenkins


【解决方案1】:

除非选中“按顺序运行每个配置”复选框,否则我认为矩阵项目确实并行运行轴。

但是,如果矩阵项目不能满足您的需求,还有其他插件可以并行运行作业。

例如,Join Plugin 和 Build Flow 可以并行启动多个作业。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多