【问题标题】:How to "modularize" my Jenkins jobs如何“模块化”我的 Jenkins 工作
【发布时间】:2015-08-18 22:28:11
【问题描述】:

我正在尝试将我庞大的、单一的 Jenkins 工作分解为更小的、可重复使用的部分。

通过保存和读取工件的标准方法对我来说是有问题的。我们的工作区非常大,几乎需要半个小时才能将工件从一个作业保存并复制到另一个作业。如果我把我的大工作分解成四个小工作,那将需要整整两个小时才能完成。这是完全不能接受的。

似乎应该有一种方法可以执行以下操作之一:

当 JobA 结束时,让 JobB立即在与 JobA 相同的节点和相同的工作空间中运行。

JobA 触发 JobB,它立即在同一节点和工作区上运行,然后返回到 JobA,从该点继续运行。

但这些在 Jenkins 中似乎都不可能。

我错过了什么?我怎么看错了?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    您可以在项目中定义多个构建步骤。您可以使用“模板”插件,它允许使用来自另一个项目的构建规则,从而为您提供一些模块化。

    另一种方法可能是使用“参数化触发器”插件并在“构建后阶段”中使用不同的参数调用相同的作业 - 可能是与“条件构建步骤”插件一起分析的参数,运行不同的构建步骤取决于它们的值。

    【讨论】:

      【解决方案2】:

      只要您在同一个节点上运行,您就可以从任何其他作业访问任何作业的工作区文件夹。所以你可以在 JobB 中对 JobA 的工件做一些事情。您只需将 JobA 的工作区文件夹定义为构建脚本的工作目录。当您主要使用批处理/sh 脚本来完成工作时,它会容易得多。 每次成功构建 JobA 时,您都可以通过 JobB 中的构建触发器自动触发 JobB。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-06
        • 2011-11-05
        • 2019-10-26
        • 1970-01-01
        • 2021-11-04
        • 2011-12-09
        • 2020-08-16
        • 1970-01-01
        相关资源
        最近更新 更多