【问题标题】:Can I split a job into multiple jobs that are all guaranteed to run on the same machine?我可以将一个作业拆分为多个作业,这些作业都保证在同一台机器上运行吗?
【发布时间】:2018-12-06 11:48:47
【问题描述】:

我有一个很长(2 多个小时)的 jenkins 工作,其中包含多个构建步骤。

我想有一种简单的方法来说明构建的距离。我想为每个构建步骤提供某种“绿灯”,以了解每个步骤何时成功完成。

为了做到这一点,我正在考虑将构建分解为多个较小的工作。如果我这样做,是否可以在 Jenkins 中进行设置,以便这些较小的作业都在同一个 Jenkins 节点和工作区上一个接一个地运行?我希望它们一个接一个地在同一台机器上运行,这样我就不必担心将千兆字节的数据作为工件复制。

假设我将其分为 3 个作业:jobA、jobB 和 jobC。 jobA 在我的构建池中当前可用的任何机器上运行。一旦 jobA 完成,jobB 就会在同一台机器上启动,而不给任何其他作业运行的机会。 jobB 完成后,jobC 也同样运行。

可以这样做吗?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    Build-pipeline 插件可让您创建一个新插件,以可视化基于上游下游关系构建的内容。

    对于您的情况,您可以将构建步骤创建为不同的作业,并在构建后操作中将它们连接起来。

    您为管道创建的视图将显示每个步骤及其进度。

    【讨论】:

    • 它是否允许我确保在构建后操作中连接的作业将立即在同一台机器上运行?
    • 您可以将作业配置为在选定的从机上运行,​​您可以将所有 3 个作业标记为在同一台从机上运行。此外,更改从节点的设置以运行标记为的作业
    【解决方案2】:

    强制作业在同一节点上运行是使用参数化触发器插件时的高级选项之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      相关资源
      最近更新 更多