Jenkins 2来自之前构建作业

时间:2016-07-18 15:57:55

标签: jenkins jenkins-2

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

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

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

在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版本。

让马克。

1 个答案:

答案 0 :(得分:4)

好的,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文件中。
  4. 此处有更多信息:https://issues.jenkins-ci.org/browse/JENKINS-29031

    我希望这有助于某人

    让马克