Jenkins 的 EnvInject 插件不保留值

Jenkins' EnvInject Plugin does not persist values

我有一个使用 EnvInject 插件设置环境值的构建。 另一项工作需要扫描该工作的最后一个良好的 Jenkins 构建并获取该环境变量的值。

这一切都很好,除了有时变量会从构建历史记录中消失。似乎过了一段时间后,当我查看构建历史记录中的 'Environment variables' 部分时,注入的值就消失了。

我怎样才能让它持续存在?这是错误还是设计的一部分?

如果有什么不同,注入变量的值是+1500个字符,格式如下:'component1=1.1.2;component2=1.1.3,component3=4.1.2,component4=1.1.1,component4=1.3.2,component4=1.1.4'

看起来像 EnvInject and/or JobDSL 有一个错误。

重现步骤:

  1. 设置运行此 JobDSL 的作业:

    job('run_deploy_mock') { steps { environmentVariables { env('deployedArtifacts', 'component1=1.0.0.2') } } }

  2. 运行 它会创建一个名为 'deploy_mock'

  3. 的工作
  4. 运行 'deploy_mock' 工作。构建 #1 完成后,转到构建详细信息并检查 'Environmental Variables' 部分中名为 'component1'
  5. 的条目
  6. 运行 再次执行 JobDSL 作业
  7. 检查 'Environmental Variables' 部分 'deploy_mock' build #1。 'component1' 变量现已丢失。

如果我将“=”替换为其他内容,它会按预期工作。

创建了 Jenkins Jira