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

jmc*_*n92 1 jenkins jenkins-2

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

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

我正在使用带有“当前构建参数”选项的“在其他项目上触发/调用构建”插件。我也尝试过“预定义参数”,但没有成功。

在 Jenkins 的日志中,我看到以下消息显示参数未传输:

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
Run Code Online (Sandbox Code Playgroud)

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

让-马克。

jmc*_*n92 5

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

要使这项工作再次发挥作用,您有 3 个选择:

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

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

我希望这可以帮助别人

让-马克