【问题标题】:Getting data into a jenkins triggered build将数据输入到詹金斯触发的构建中
【发布时间】:2012-10-16 15:15:54
【问题描述】:

我有一个 Jenkins 构建,它可以通过调度、用户请求或作为其他构建的构建步骤调用来触发。如果这个构建被作为另一个构建的一部分调用,它需要保存一些信息以供更大的构建使用。我想通过写入文件来传递这些信息。唯一的问题是让构建同意写入的位置。

一种方法是将其写入一个众所周知的位置,但这不允许并行运行多个构建,因为一个会破坏另一个。

另一个是向构建添加构建参数,其他构建将使用要写入的文件位置填充该构建参数。对我来说,这似乎有点像 hack,因为这意味着无论何时运行构建,都需要传入一个参数,即使它只是从默认值开始。

我考虑的最后一种方法是让父构建在构建中设置一个环境变量,让子构建检查变量的存在和内容并采取适当的行动。不幸的是,我找不到在 Jenkins 中进行设置的方法。

【问题讨论】:

    标签: jenkins hudson build-automation


    【解决方案1】:

    在我看来,后期构建中的存档工件和Copy Artifact Plugin 的组合可以完成这项工作。

    【讨论】:

      【解决方案2】:

      听起来你需要Parameterized Trigger Plugin

      【讨论】:

      • 查看我考虑的第二种方法。
      • 使用该插件,您可以将命名参数传递给构建,而无需在子构建中实际定义它们。也许我不清楚你的意思?
      • 我知道它可以工作(这就是我目前实现它的方式),但我不觉得它是一个足够干净的解决方案,因为现在任何手动运行构建的人都有一个参数他们需要点击的进入屏幕(并始终接受默认值)。
      • 我明白了,你说的是父版本吗?您也不需要为该参数定义参数,因为您可以通过执行批处理或 shell 命令配置将参数(使用默认值)定义为环境变量。这将在手动运行时消除额外的参数屏幕,但仍将默认值传递给子构建。
      猜你喜欢
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      相关资源
      最近更新 更多