升级的分离插件(和依赖关系)
每个部分涵盖了从先前的LTS版本升级,2.7.1部分涵盖从1.651.3升级。
Jenkins 2的全新用户体验已经彻底改变,实例现在开始使用设置向导,该向导设置了非常保守的安全配置,并指导用户安装一组推荐的插件。
对于自动部署,建立预配置的环境,例如运用 init.groovy
or init.groovy.d/
, 环境属性 jenkins.install.runSetupWizard
允许跳过安装向导:
java -Djenkins.install.runSetupWizard=false -jar jenkins.war
Jenkins现在需要Servlet API 3.1。
在非默认servlet容器(如Tomcat或Websphere)上运行Jenkins的管理员需要确保容器能够支持Servlet 3.1。
嵌入式Winstone-Jetty容器已升级为支持Servlet 3.1。
嵌入式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已经从 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级别向后兼容自定义主题。