如何更改 Jenkins 作业的 JDK?

How to change the JDK for a Jenkins job?

我已经从另一台机器上的现有 jenkins 服务器导入了 jenkins 作业。但问题是,它具有按照旧机器引用的 JDK,我想将其更改为使用在我的新 jenkins 中配置的 JDK。但是我找不到任何方法来做到这一点。所以,如果你遇到过这种情况并找到了解决方法,请也帮助我。

谢谢。

"job name" -> 在 Jenkins web ui 中配置有一个 JDK 下拉菜单。它将列出 Jenkins 配置中可用的所有 JDK。

这里是您应该在作业中配置的位置:

在 JDK 中有一个组合框,在您的 Jenkins 中配置了不同的 JDK。

这是您应该在 Jenkins 配置中配置的位置:

以下是我对 Jenkins 1.636 版的体验: 只要我在 Jenkins JDK 部分中只配置了一个 "Install automatically" JDK,我就不会在 Job=>Configure 部分看到 "JDK" 下拉菜单, 但是当我在 Jenkins 配置中添加第二个 JDK 时,JDK 下拉列表出现在 Job=>Configure 部分,有 3 个选项 [(System), JDK1, JDK2 ]

工作要小心

1 - 如果您有一份基于 maven 的工作,Jenkins 会采用您的默认 java 配置,并且您在 POM.XML.

中决定编译级别

2 - 如果你有一个自由风格的工作,在工作的配置选项中你可以 select 你想要使用的 JDK。

希望对您有所帮助。

对于您正在编辑的现有作业,如果您刚刚在 'Configure System'詹金斯设置。

但是,它可用于新工作。

令人惊讶的是,如果您添加第二个 JDK 配置,它也会在现有作业中可用。

这在我看来像是一个错误(在 Jenkins 版本 1.629 中测试过)。

查看此处提出的类似问题:JDK selection is hidden even when a JDK is configured

使用最新的 Jenkins 2.7.4 版本,现有作业也存在错误。

  1. 通过管理 Jenkins -> 全局工具配置 -> JDK 添加新的 JDKs ** 如果您编辑当前作业,则 JDK 下拉列表不会显示(错误)

  2. 点击http://your_jenkin_server:8080/restart并重启服务器

  3. 重新配置作业

现在,您应该在 "job name" -> 在 Jenkins web ui 中看到 JDK 下拉菜单。它将列出 Jenkins 配置中可用的所有 JDK。

对于找不到此选项的用户。安装 JDK Parameter Plugin

如果您有一个多配置(矩阵)作业,则没有 JDK 下拉列表,但需要将 jdk 配置为构建轴。

我遇到了同样的问题 (运行 Jenkins v2.303.1),我需要添加新的 JDK 才能在项目设置中看到它们。

转到“管理 Jenkins(德语:Jenkins verwalten)”,然后“工具配置(德语:Konfiguration der Hilfsprogramme)”,应该有一个关于“JDK”的部分。在这里,您可以管理您不同的 java 版本(无论是下载还是使用本地版本): Picture of JDK section

设置这些 JDK 后,我可以选择要使用的 JDK 版本:JDK choose option

您好,如果您使用管道,可以在旧作业中设置一个新的 JDK。你只要这样写:

pipeline{
 agent any
 tools{
     jdk 'deafault'
 }
 stages{ 
    stage('build'){
       ..............
       }
    } 
 } 
}

其中 default 只是您在 Jenkins 配置全局系统中配置时给 JDK 的名称。