【问题标题】:How to keep using Jenkins with Java 8如何在 Java 8 中继续使用 Jenkins
【发布时间】:2022-11-09 21:19:35
【问题描述】:

发布版本2.346.x,Jenkins 强制我们升级到 Java 11。 但是,我们公司的政策要求我们在所有项目中都坚持使用 Java 8,无论情况如何。 (明显的原因是预算)。
我知道我们仍然可以下载和安装旧版本的 Jenkins。这里的问题是,在某个时间点之后,大多数插件停止支持旧 Jenkins。现在我既不能升级到最新版本的 Jenkins,也不能继续使用旧版本并继续使用插件。

那么问题来了——有没有办法继续使用兼容 Java 8 的 Jenkins 和所有插件?

【问题讨论】:

  • 我可以理解您为什么要在已发布的软件中坚持使用特定的 Java 版本,但您确定此政策也适用于您的内部管道基础设施吗?迁移到 JDK11 比想办法继续使用旧的(有时是不安全的)插件要容易得多。
  • 是的,至少现在是这样。为了在我们的组织中使用 Java 11,必须遵循典型的公司程序才能获得获得许可的批准。那么,您对我的查询有什么建议吗?
  • 不,我没有,并且从缺乏任何其他答案来看,我猜这样的事情是不可能的。我们曾经有一台非常旧的 Jenkins 机器,我们没有更新(插件和 Jenkins),当插件坏了没有人修复它们。最终我们放弃了 Jenkins 的那个版本并进行了升级,转向了流水线 DSL。当然,在我们的例子中,我们可以随时切换。只需从 Oracle 网站下载 JDK 14 并使用它。我在一个相当大的组织中严格管理许可,所以我很惊讶你不能这样做。
  • 谢谢!看起来我有一天会陷入类似的境地。好吧,我已经向我的管理层提出了这个问题,让我们看看情况如何。但我仍在为我的问题寻找一些解决方案。

标签: jenkins jenkins-update


【解决方案1】:

如果您使用的是 Debian 或 Ubuntu,您可以将软件包固定到 APT configuration 中的所选版本

root@debian:~# cat /etc/apt/preferences.d/jenkins
Package: jenkins
Pin: version 2.346
Pin-Priority: 1000

root@debian:~# apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

root@debian:~# rm /etc/apt/preferences.d/jenkins

root@debian:~# apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  jenkins
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/92.9 MB of archives.
After this operation, 2,204 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
root@debian:~# 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-07
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多