升级到 Jenkins LTS 2.46.x

每个部分涵盖了从之前的LTS版本升级,2.46.1部分涵盖从2.32.3升级。

升级到 Jenkins LTS 2.46.3

没有需要升级说明的显着更改。

升级到 Jenkins LTS 2.46.2

新的非远程处理CLI

为了解决使用基于远程处理的CLI所面临的安全问题,Jenkins 2.54中引入的新的非远程实现被反向移植到Jenkins的这个版本中,并且不推荐使用远程处理CLI模式。

从较旧版本的Jenkins升级的用户仍将启用远程处理模式。 建议在调整Jenkins CLI的所有用途以处理非远程协议后,禁用远程模式。

先前下载的`jenkins-cli.jar`将继续工作,除非CLI的远程处理模式被禁用。 新下载的`jenkins-cli.jar`现在还支持现有的SSH模式和CLI的新HTTP模式,并且调用需要传递新参数`-remoting`以使用远程模式。 这对于一些命令是必需的,通常在文件上操作或修改"当前构建"。

有关新CLI执行的更多信息:

缓存的CLI认证无效

由于CLI身份验证缓存中发现的漏洞,在此发行版之前创建的现有缓存身份验证将不再有效,并且用户需要再次运行 login CLI命令。

`login`CLI命令特定于CLI的远程处理模式。

无法通过GET访问多个网址

为了修复一些CSRF漏洞,几个操作的URL已经被更改为仅在通过POST接收请求时才起作用,可能需要CSRF crumb。 其中大部分不会通过 GET`访问, 但有一些可能。 例如,如果您在Web浏览器中直接访问URL `/quietDown,则这将不再有效。

升级到 Jenkins LTS 2.46.1

JNLP4远程处理协议默认启用

JNLP4协议现在默认为JNLP代理连接启用。 它比JNLP3更可靠,并且也被加密,使其成为代理连接的最佳选择。 使用此协议可能需要升级代理上的+slave.jar+文件。

从SSHD中删除过时的密码

Jenkins公开了允许通过SSH使用CLI命令的SSH服务器。 在这个SSH服务器中,已经删除了对AES128CBC,TripleDESCBC和BlowfishCBC过时密码的支持。