Jenkins 2 从以前的构建作业中松散参数

Jenkins 2 loose parameters from previous Build Job

我刚刚从 Jenkins 1.656 升级到 jenkins 2.14,我的作业失败了,因为它们没有从以前的作业中收到任何参数。

重新安装旧的 1.656 时,性能恢复正常(参数正常发送到下游作业)。

我正在使用带有 "Current build parameters" 选项的 "Trigger/call builds on other projects" 插件。 我也尝试过 "Predefined parameters" 但没有成功。

在 Jenkin 的日志中,我看到以下消息表明未传输参数:

WARNING: Skipped parameter `tenantName` as it is undefined on `etg-healthcheck-h1_log`. Set `-Dhudson.model.ParametersAction.keepUndefinedParameters`=true to allow undefined parameters to be injected as environment variables or `-Dhudson.model.ParametersAction.safeParameters=[comma-separated list]` to whitelist specific parameter names, even though it represents a security breach

任何帮助将不胜感激,因为我卡在 1.6 版本中。

让-马克

好的,Jenkins2 已经改变了 Job 参数的行为。当 Job 声明了非参数时,它将不会接收任何参数。这看起来合乎逻辑且安全,但它与 1.6 版本严重不兼容。

要使这项工作再次生效,您有 3 个选择:

  1. 在相关作业中添加参数。根据 Jbos 的数量,这可能是一些重要的工作,
  2. 将“-Dhudson.model.ParametersAction.keepUndefinedParameters=true 设置到 JAVA_ARGS 变量中的 /etc/default/jenkins 文件中。此 malke Jenkins 2 与 1.6 行为兼容,
  3. (未尝试)将“-Dhudson.model.ParametersAction.safeParameters=[逗号分隔列表]”添加到 JAVA_ARGS 变量的 /etc/default/jenkins 文件中。

更多信息在这里:https://issues.jenkins-ci.org/browse/JENKINS-29031

我希望这对某人有所帮助

让-马克