升级到 Jenkins LTS 2.7.x

每个部分涵盖了从先前的LTS版本升级,2.7.1部分涵盖从1.651.3升级。

升级到 Jenkins LTS 2.7.4

这个版本只修正了2.7.3中引入的回归。 没有此版本的升级说明。

升级到 Jenkins LTS 2.7.3

强制升级分离插件

Jenkins现在将确保分离的插件,即那些功能曾经是Jenkins核心的一部分但被移入插件的插件,至少是捆绑版本。 一条消息将被打印到日志中来通知管理员:

升级的分离插件(和依赖关系)

升级到 Jenkins LTS 2.7.2

支持远程处理组件中的HTTP_PROXY环境变量

增加了对构建代理启动器中HTTP代理排除的支持。 构建定义此变量的代理,但其与Jenkins主机的连接依赖于未启用的代理现在可能无法连接到Jenkins。 解决方案是修复传递给代理进程的代理配置。

升级到 Jenkins LTS 2.7.1

安装向导

Jenkins 2的全新用户体验已经彻底改变,实例现在开始使用设置向导,该向导设置了非常保守的安全配置,并指导用户安装一组推荐的插件。

对于自动部署,建立预配置的环境,例如运用 init.groovy or init.groovy.d/, 环境属性 jenkins.install.runSetupWizard 允许跳过安装向导:

java -Djenkins.install.runSetupWizard=false -jar jenkins.war

需要Servlet 3.1

Jenkins现在需要Servlet API 3.1。

在非默认servlet容器(如Tomcat或Websphere)上运行Jenkins的管理员需要确保容器能够支持Servlet 3.1。

嵌入式Winstone-Jetty容器已升级为支持Servlet 3.1。

从Winstone-Jetty移除AJP支持

嵌入式Winstone-Jetty容器已升级,并放弃对AJP协议的支持。 如果您使用此协议来进行Jenkins和反向代理之间的通信,则需要切换到HTTP或使用不同的servlet容器。

如果您使用其中一个本地软件包安装了Jenkins,即使您从未使用它,也可以默认启用AJP支持。 由于+java -jar jenkins.war+ 的相关命令行参数已被删除,Jenkins可能会在升级后拒绝启动,并引用一个意外的参数。 在这种情况下,您需要编辑服务配置文件(例如+/etc/default/jenkins+ 或 /etc/sysconfig/jenkins)以删除该参数。

不同的捆绑插件机制

在Jenkins 2中,我们删除了 _bundled plugins_的概念。 现在,Jenkins可以在没有安装插件的情况下使用,并且可以卸载所有安装的插件。 新 的安装向导允许用户从最流行的插件中快速选择要安装的插件。

分离的插件,即那些功能曾经是Jenkins核心的一部分但被移入插件的插件,现在只有在Jenkins在插件分离之前检测到版本的升级时才会安装。 在升级Jenkins时,仍然需要保持配置级兼容性。 如果您已经离线运行Jenkins,请注意,默认情况下不会安装插件,并且由于提到的兼容性机制,很多插件将隐式依赖以前捆绑的插件。

Workaround: 以下插件(及其维基页面上记录的依赖关系)应该始终默认安装,或者通过将新插件上传到Jenkins来安装新插件可能会失败(列表适用于Jenkins 2.7.x): maven-plugin, subversion, cvs, ant, javadoc, external-monitor-job, ldap, pam-auth, mailer, matrix-auth, windows-slaves, antisamy-markup-formatter, matrix-project, junit.

Workaround:建立一个私人更新网站,如 Juseppe.

Groovy 升级到 2.4.7

Groovy已经从 1.8.9 升级到 2.4.7。

一个可能的副作用是JENKINS-33358中描述的内存泄漏 GROOVY-7591。 如果遇到此问题,可以将系统属性+groovy.use.classvalue+设置为+true+以恢复以前的行为。 例:

java -Dgroovy.use.classvalue=true -jar jenkins.war

用户界面主题的变化

Jenkins 2向New Item页面的UI以及可能影响自定义CSS / JS的各种配置页面(例如使用 Simple Theme Plugin) 依赖于Jenkins UI的DOM或其他功能。

请注意,我们不保证任何UI级别向后兼容自定义主题。