gpt4 book ai didi

jenkins - 在读取控制台日志行/值后设置 Jenkins 变量--或-- 使用 Jenkins 调用的脚本/命令使用的变量

转载 作者:行者123 更新时间:2023-12-04 05:40:02 24 4
gpt4 key购买 nike

我不需要以下内容:

  • 如何设置 Jenkins 环境变量或
  • 如何在 Jenkins/windows shell/ant/etc 脚本中使用环境变量。

  • 我需要的是相反的。

    概括:
    1. 我有一份 Jenkins 工作:ABC_Build
    2.这个作业调用一个.bat文件(调用一个ANT代码/目标来打包/构建一个
    build )。当我们正在创建一个构建时,这项工作知道新的构建标签名称是什么,并且
    ANT 将其存储在一个名为“new.build.label”的变量中。使用的文件是 build.xml。

    (新手用户注意:如果您想调用许多 Windows 命令(.bat/.cmd 或
    创建 Windows 外壳的命令)然后,您应该使用“调用”来调用它
    script.bat -Dparam1 -Dparam2....”方式)。
  • 现在,该作业调用另一个 .bat 文件(调用 ANT 代码/target)并使用一个
    由第一个 .bat 文件/ANT 包目标生成的参数值
    调用(即“new.build.label”)。因为这是一个单独的 .bat 命令调用来调用一个新的
    ANT 代码/目标的 session ,我需要在
    这一步的调用。这里使用的文件是 deploy.xml。
  • 基本上,我试图看看如何在 Jenkins 中设置一个变量,或者使用:
    一种。阅读我的 Jenkins 工作的控制台输出,因为我正在呼应
    标准输出/控制台输出中的新构建标签。
    湾。任何其他方式,我可以使用“new.build.label”ANT 设置 jenkins 变量
    变量(一旦第一个 .bat/ANT 包目标完成),我准备调用
    第二个 .bat/.cmd/ANT 调用进行部署。不幸的是,我不能两者都做
    同时打包/部署。

    我也不想知道为什么我不能从第一个 ANT 调用目标部署
    当我已经知道“new.build.label”的值作为我的主要要求时的 session 是:

    如何使用 Jenkins 调用的脚本之一(ANT/Jelly/Groovy/Maven/etc)使用的“变量”设置 jenkins 变量。
  • 最佳答案

    您可以通过 EnvInject plugin 在 Jenkins 构建步骤之间传递环境变量.在您的特定情况下,以下可能是最好的方法:

  • 第一个 ANT 应该将 new.build.label 回显到 EnvInject 插件可以读取的属性文件中,例如:
    <echo message="new.build.label=${new.build.label}" file="envars.props" />
  • 创建注入(inject)环境变量构建步骤并将“属性文件路径”设置为 envars.props (确保您正确处理路径)。然后 new.build.label 将作为环境变量用于其余的构建步骤。

  • 顺便说一句,我认为从 Jenkins 的批处理文件中调用 ANT 不是一个好习惯。请改用 ANT 构建步骤。

    关于jenkins - 在读取控制台日志行/值后设置 Jenkins 变量--或-- 使用 Jenkins 调用的脚本/命令使用的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370937/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com