在大规模的Jenkins实例中必威国际有限公司,控制器磁盘和网络I / O在特定情况下成为瓶颈。构建日志记录和工件存储是最强烈的I / O消费者的存储,因此它将很好地将它们重定向到外部存储。回到2016年,有关Jenkins此类可插拔存储的积极讨论。必威国际有限公司此时我们创建了几种原型,但其他工作优先。对于大型情况来说,可插入存储仍有很大的需求,这些故事也成为云天然詹金斯设置的主要障碍。必威国际有限公司

我很高兴地说,关于可插拔存储的讨论又开始了。您可能已经看到了工件存储核心的变化(Jep-202.)和一个新的S3插件的工件管理器.我们还为外部日志记录创建了许多jep,并创建了一个新的云本土特殊兴趣组(SIG)提供讨论变更的场地,并尽可能保持打开。

明天杰西•格里克我将在Cloud Native SIG在线会议上介绍当前的外部日志记录设计,您可以找到有关会议的更多信息这里.我决定现在是写关于新的SIG的好时机,在这篇博客文章中,我将尝试提供我对SIG及其目的的看法。我还将总结小组活动的现状。

什么是特殊利益团体?

如果您遵循开发人员邮件列表,您可能已经看到关于在Jenkins项目中引入SIG的讨论。必威国际有限公司SIG模型已提出r. tyler cr,它在很大程度上遵循成功Kubernetes sig模型。这些SIGS的目标是使社区对贡献者更加透明,并为特定讨论提供场地。记录了SIG的想法以及如何创建它们JEP-4.Jep-4仍处于草稿状态,但已经使用该过程创建了几个SIG:平台团体GSOC SIG.最后,云本地奇

SIGS是Jenkins项目的一个很大的机会,为船上提供了一个刚刚在必威国际有限公司詹金斯特定方面的船上贡献者的新方法。使用SIGS,他们可以订阅特定主题,而无需遵循整个开发人员邮件列表,这现在可以变得非常嗡嗡作响。它还为公司提供商提供了一种如何加入社区并参加特定领域。这对于单个贡献者无法完成的更大项目非常棒。像JEPS一样,SIGS帮助焦点并协调努力。

回到主要努力......核心贡献者之间的资源是我们在2016年不可能提供可插拔存储故事的原因之一。我相信SIG可以帮助修复Jenkins,使其更容易找到群体必威国际有限公司相同的兴趣并向他们联系,以组织活动。定期会议也有助于获得此类努力。

以上几点是我加入Cloud Native SIG的主要原因,同样,这也是我决定创建一个平台团体在Jenkins中提供Java 10+支持的主要努力。必威国际有限公司我希望更多的sigs创造很快,以便贡献者可以专注于他们兴趣的领域。

云本地奇

在最初的提案中卡洛斯桑切斯云本地SIG主席,很好地描述了SIG的目的。在Jenkins X和Jenkins Evergreen等云本地项目中,今年已经取得了很大的进展,但目前的Jenkins架构并没有提供可用于云本地的特殊功必威国际有限公司能:可插拔存储、高可用性等。有一些方法可以通过使用Jenkins插件和一些基础架构调整来实现,但这必威国际有限公司还远远不是开箱即用的体验。它使Jenkins的管理变得复必威国际有限公司杂,并减慢了Jenkins的新云本地解决方案的开发。

那么,我对SIG有什么期望呢?

  • 定义云原生Jenkins架构的路线图,这将有助于项目与云原生安装保持相关必威国际有限公司性

  • 提供讨论关键的Jenkins架构变化的场所必威国际有限公司

  • 在云本地解决方案领域担任Jenkins增强方案的指导委员会必威国际有限公司

  • 最后,协调贡献者之间的努力,并在板上获得新的贡献者

什么在签名中?

SIG议程主要由SIG参与者定义。如果您有兴趣讨论特定主题,请在SIG邮件列表中提出它们。作为当前SIG页面描述了,有几个区域定义为初始主题:伪影存储日志存储配置存储

所有这些主题都与可插拔存储区域有关,并且它们的最终目标是确保外部化所有数据,以便复制成为可能。除了提到的数据类型,在讨论的情况下必威国际有限公司Jenkins World 2016峰会,我们需要对其他数据类型外化:项目和运行存储指纹测试和覆盖结果等等。为此进行了一些基础工作。例如,犁郑正在研究代码Coverage API插件这将允许统一Jenkins中的代码覆盖存储格式。必威国际有限公司

完成可插拔存储故事后,下一步是真正的高可用性,滚动或金丝雀升级和零停机时间。在那一点上的其他基础故事远程对卡夫卡经过范教授Vu老爷可以集成到云本地架构中,以使Jenkins在集群内的中断情况下更加健壮。必威国际有限公司要达到这种状态需要一些时间,但可以逐步完成。

让我简要概括了云本机SIG中列出的3个焦点的当前状态。

伪影存储

有许多现有的插件允许从外部存储上传和下载工件(例如S3, Artifactory,通过SFTP发布,等等),但没有一个插件可以在不使用新步骤的情况下透明地做到这一点。在许多情况下,构件也通过控制器上传,这增加了系统的负载。如果有一个层可以允许在使用像这样的普通步骤时在外部存储工件,那就太好了归档工件

藏物仓库的工作是今年春天由杰西·格利克,卡洛斯·桑切斯和Ivan Fernandez Calvo.在云本地SIG实际上建立之前。当前状态:

  • JEP-202“外部文物存储”是詹金斯社区提出的必威国际有限公司该JEP定义了Jenkins核心中支持外部工件管理器所需的API更改必威国际有限公司

  • 必威国际有限公司Jenkins Pipeline已经更新,以支持外部工件存储档案/未加工/un

  • 新的S3插件的工件管理器新API的参考实施。插件可在主Jenkins更新中心提供必威国际有限公司

  • 已经更新了许多插件,以支持外部工件存储

从2.121.1开始,可以在Jenkins LTS中使用Artifact Mana必威国际有限公司ger API,因此可以使用所提供的API和现有实现创建新的实现。这个新特性完全向后兼容默认的基于文件系统的存储,但是对于显式依赖于工件位置的插件有一些已知的问题必威国际有限公司JENKINS_HOME(您可以找到此类插件的列表这里)。获取支持的所有插件需要一段时间,但核心中的新API应该允许迁移插件。

我希望我们将在某些时候重新审视SIG会议上的外部工件存储。做回顾性并了解如何改善SIG的过程是一个很好的机会。

日志存储

日志存储是一个单独的大故事。回到2016年外部日志记录是我们在贡献者峰会上定义的关键可插拔存储故事之一。我们为这个故事创造了一个史诗般的史诗(必威国际有限公司Jenkins-38313.),然后一起创建了一些原型邢严和杰西·格里克。其中一个Pipeline原型最近已经进行了更新和发布这里

Jesse Glick和Carlos Sanchez正在返回这个故事,并计划在云本地Sig中讨论它。最近有许多Jenkins增强建议:必威国际有限公司

  • 2010年7月- Jenkins Core中的外部构建日志记录支持必威国际有限公司

  • Jep-210.- 管道的外部日志存储

  • Jep-212.- 外部日志记录API插件

  • 2010年7月- 使用UTF-8进行管道构建日志

在链接文档中,您可以找到对当前参考实现的引用。到目前为止,我们拥有新设计的工作原型。在最终版本之前还有许多位来修复,但设计已准备好进行审核和反馈。

本周二(星期二)我们将有一个SIG会议,以呈现当前的国家并讨论拟议的设计和JEP。会议将在下午3点举行。你可以使用广播使用这个链接.与会者链接将在会议前10分钟发布在SIGs Gitter频道。

配置存储

这是我们想要考虑的未来故事之一。虽然配置不是很大,但外部化它们是获得高可用性或一次性Jenkins控制器的关键任务。必威国际有限公司在Jenkins中有很多方法来存储配置,但95%的情况是由必威国际有限公司XmlFile将对象序列化为磁盘的图层并使用XStream库读取它们。外化这些XmlFileS将是一个很好的前进。

例如,有几种用于外化配置的原型,例如,在Dotci。还有其他实现可以在詹金斯核心上游:必威国际有限公司

接下来的步骤是将实现聚合到一个单独的JEP中。我已经把它列在了我的队列中,我希望一旦我们对外部日志故事有了更多的了解,我就写一个设计。

结论

特殊兴趣小组是詹金斯社区合作和讨论的一种新形式。必威国际有限公司虽然我们以前有一些工作组(基础设施,配置即代码,等等),但引入sig在项目透明度和一致性方面设置了新的标准。Jenkins的主要架构变化是必需的,以确保其在新环境中的未必威国际有限公司来,而sig将有助于提高这些变化的可见性和参与性。

如果您想了解更多关于云本机SIG的信息,则列出所有资源jenkins.io上的si必威国际有限公司g的页面.如果您想参与SIG的活动,只需做以下事情:

  1. 订阅邮件列表

  2. 加入我们的git通道

  3. 加入我们的公开会议

我也在努力组织面对面的云天然SIG会议必威国际有限公司詹金斯贡献者峰会,将于9月17日在9月17日发生Devops World |必威国际有限公司詹金斯世界在旧金山。如果你来Devops世界|必威国际有限公司Jenkins World,请随时加入我们的贡献者峰会或在社区展位上与我们联系。与Jesse和Carlos一起,我们也将提出我们的工作云原生Jenkins必威国际有限公司讲话。

留在云本机詹金斯前线上的更多更新和演示!必威国际有限公司

关于作者
oleg nenashev.

必威国际有限公司Jenkins核心维护者和董事会成员。OLEG于2008年开始使用Hudson进行硬件/嵌入式项目,并在2012年成为Active Jenkins贡献者。现在他领导了几个Jenkins必威国际有限公司锡格斯、外展计划(谷歌代码之夏哈克伯菲斯特),必威国际有限公司Jenkins Meetups.在瑞士和俄罗斯。奥列格工作CloudBees.并专注于社区的主要项目。