必威国际有限公司Jenkins Essentials.已更名为必威国际有限公司常绿因为这是写的。

几周前,我写了关于Jenkins Esse必威国际有限公司ntials的文章在这方面,我们已经取得了稳步的进展。就我个人而言,这个项目最令人兴奋的挑战是定义驱动的机器自动更新从高水必威国际有限公司平看,是经典持续交付的挑战。

在这篇文章中,我想深入一些关于我们将如何提供带有自动更新的Jenkins Essentials的细节,这对Jenkins本身的开发有一些非常有趣的需求。必威国际有限公司

必威国际有限公司Jenkins Essentials.

传统的詹金斯核心和插件开发工作流必威国际有限公司程涉及到开发人员变化工作了一段时间,然后当他们准备好了,他们“创建一个发布”,通常涉及出版工件Artifactory,然后在一个计时器(通常每15分钟)更新中心将重新生成一个文件update-center.json.一旦生成了新的更新中心,将在24小时内由Jenkins安装发布和消耗。必威国际有限公司当然,只有在Jenkins管理员认识到有可用必威国际有限公司的更新后,他们只能安装它。总而言之,从开发人员发布释放时,它可能需要很长时间,而最终用户已成功使用。

我们希望让Jenkins Essentials更必威国际有限公司新无缝和自动化,但现状显然是行不通的。我们在思维上的转变需要一些同时进行的努力,以使这种更持续的交付方法可行。

开发人员改进

从开发人员的工作流程开始,杰西•格里克一直致力于将工件的“增量构建”发布到特殊的Maven存储库在艺术中​​。他的大部分工作都在非常彻底描述必威国际有限公司詹金斯改善建议305.这种支持现在生活ci.必威国际有限公司jenkins.io允许插件开发者发布版本变更把请求分支机构渐进映像存储库。这不仅可以让Jenkins Essentials更容易提供更接近的变化必威国际有限公司掌握分支,它还为协调插件和核心矩阵的变化的Jenkins开发人员提供了很多灵活性,因为Jenkins P必威国际有限公司ipeline、Credentials、Blue Ocean和现代Jenkins安装的许多其他基础组件有时是必要的。

在后续的博客文章中,Jesse将更详细地介绍一些访问控制和工具更改,他必须解决这些增量机制的工作。

当然,增量构建只是拼图的一部分,有了这些工件,Jenkins Essentials必须能够用它们做一些有用的事情!必威国际有限公司

更新改进

从我的角度来看,自动更新发行版的首要要求是它是安全.“安全”意味着用户不需要参与更新过程,如果出现问题,则实例恢复而不需要执行任何内容以修复“坏代码部署”。

在我之前关于这个主题的文章中,我提到了Baptiste的工作必威国际有限公司Jenkins改进建议302它描述了用于安全应用更新的“数据安全”系统,并在出现故障时进行回滚。

下一个明显的问题是“失败是什么?”哪个Baptiste花了一些时间探索和实施两种设计:

在服务器端,有大量的Jenkins Essentials工作,这些概念集成了一个概念必威国际有限公司更新生命周期在服务器和客户端之间。实质上,服务器端必须能够向右客户端提供正确的更新,并避免将污染的更新(具有已知问题的人)提供给客户端。虽然这部分工作仍在继续,但在过去的几周内取得了巨大进展,确保可以安全,安全地安全地进行更新和自动交付。

通过识别“坏代码部署”的能力,以及安全回滚的机制,Jenkins Essentials不仅允许无缝更新,还使Jenkins开发人员能够交付新特性并修复bug必威国际有限公司比我们目前的销售模式更快。


虽然Jenk必威国际有限公司ins Essentials还没有一个可供广泛使用的软件包,但我们正在迅速接近第一个里程碑的完成,它将所有这些自动更新组件连接在一起,并为所有后续改进的持续交付奠定基础。

关于作者
r·泰勒突堤

r·泰勒·克罗伊(R. Tyler Croy)在过去七年一直是詹金斯项必威国际有限公司目的一部分。在避免贡献任何Java代码的同时,Tyler参与了项目保持运行的许多其他方面,比如这个网站、基础设施、治理等。