清除技术债务是Jenkins核心开发人员的一个长期话题,最明显的问题之一是使用过时的和/或分叉的第三方库。必威国际有限公司在Dependabot为几个小时前发布的库提供更新的情况下,使用多年的依赖项是很不愉快的。由于大型组织尤其不愿意安装使用过时或非标准版本的软件,我的雇主(CloudBees)同意我花一些时间清理一些最糟糕的版本。

最棘手的问题是用于身份验证的Acegi Security库,它已经被Spring Security取代很久了(Jenkins还捆绑了一些Spring框架依赖项的过时版本)。必威国际有限公司中- 227跟踪更新到Spring Security的复杂任务,而不破坏与身份验证交互的众多插件,特别是那些提供安全领域

另一个长期存在的问题是Jenkins用来读取和写入XML配置文件的XStream库。必威国际有限公司这在很久以前就被当时的Hudson项目分岔了,并应用了一些修正。不幸的是,其中一些修复被上游拒绝为无效(表示不受支持的使用模式),并且分叉落后于上游版本。中- 228描述在更标准的使用模式下切换到上游库的影响,包括对少数可能不兼容的插件的修复。

现在Jenkins 2.2必威国际有限公司66每周发布包含了这两个更新,对于Jenkins管理员和插件维护者来说,检查实际的或潜在的不兼容性是很重要的。有两个表列出了这些变化对插件的影响:

如果你使用詹金必威国际有限公司斯在升级之前,最好查看一下这些表格,看看你是否在运行任何考虑过的插件不兼容的.如果是的话,尽量不要依赖那个插件,或者看看是否有一个活跃的维护者可以提供帮助。为条目标记未知的,如果您能在升级后做一个健全的检查,并提供一个拉的请求到表页(点击编辑此文件),并提供更多信息。

如果你在一个插件中发现了一个回归,请在Jira中提交一个bug报告,并从表中链接到它。也请添加一个中- 227中- 228适当的标签,便于跟踪:

更新你所有的插件是个好主意之前升级詹金斯的核心。必威国际有限公司在Spring Security更新的情况下,必须提前更新一些安全领域插件,包括LDAP和Active Directory。(你可以在Jenkins版本上安全地运行新的插件版本必威国际有限公司之前这种变化)。否则,您将面临无法登录jenkins的风险,从而无法从GUI更新这些插件!必威国际有限公司LDAP插件另外有一个新版本,只有在核心升级后才可用,但不急于切换到那个版本。

如果你维护一个Jenkins必威国际有限公司插件然后请检查是否有小于的标记兼容的.在某些情况下,已经有pull请求等待合并。在其他情况下,已经确定了源代码的一些次要方面,可以对其进行编辑以提高兼容性。

我们希望看到这些变化带来一些破坏,但希望从长远来看,它们将为核心和插件开发人员节省时间,并带来一个更安全、更稳定的工具。请联系一下开发人员的名单有任何问题或建议。

关于作者
杰西•格里克

Jesse多年来一直在开发Jenkins核心和插件。必威国际有限公司他与Kohsuke合著了管道系统的核心基础设施。