当前位置: 首页 > news >正文

五个举措:现代化Jenkins 和终结“Jenkinsteins”

摘要:Jenkins和CloudBees首席技术官川口耕介(Kohsuke Kawaguchi)上月在尼斯的Jenkins World上发表了演讲,谈到了现代化这款流行的CI/CD工具的五个正在进行的项目。川口耕介想要解决随着老化出现的痛点,他倡议围绕Jenkins Evergreen、Jenkins Pipeline (Blue Ocean)、Jenkins Configuration-as-Code、Jenkins X和云原生Jenkins这五个项目着手解决。他们每一个都处于不同的发展阶段,而且彼此间保持着独立。

Jenkins和CloudBees首席技术官川口耕介(Kohsuke Kawaguchi)上月在尼斯的Jenkins World上发表了演讲,谈到了现代化这款流行的CI/CD工具的五个正在进行的项目。川口耕介想要解决随着老化出现的痛点,今年早些时候在一篇文章中讨论到,特别要注意所谓的“Jenkinsteins”出现了:大量的项目和团队使用了大量臃肿集中的安装工具,导致性能低下,以及依赖关系和管理的噩梦。他倡议围绕Jenkins Evergreen、Jenkins Pipeline (Blue Ocean)、Jenkins Configuration-as-Code、Jenkins X和云原生Jenkins这五个项目着手解决。他们每一个都处于不同的发展阶段,而且彼此间保持着独立。

Jenkins Evergreen的目标是更快的开箱即用的体验,它提供预置模版,极大地降低了管理和配置的工作量。此外, Blue Ocean(目前已得到广泛使用的一个插件,专注于使流水线更清晰可视化)将成为默认UI(具体的时间尚未公布),那么每次需要修改时就不必再切换到经典UI了。川口耕介称,Jenkins Evergreen还将提供自我升级功能,对用户来说基本上是透明的。Evergreen目前处于测试阶段,还不推荐用于生产。

川口耕介告诉InfoQ,Evergreen最终将能够持续交付Jenkins本身。它将支持运行post bootstrap自助测试和诊断,将信息发送回相应的团队,以监控错误和趋势。还将内建自动回滚,以防万一升级失败。当被问及用户是否能够添加自己的post bootstrap诊断时,川口耕介说,做这个项目的团队应该考虑这种可能性。

Jenkins Configuration as Code(Jenkins配置即代码,也称为JCasC)旨在支持以YAML格式对Jenkins的设置(具有合理的缺省值)进行编码,以便能够完全自动化对交付系统的安装和更新。然后,团队可以像处理任何其他代码提交和拉取请求一样处理对Jenkins配置的更改,并在出现问题时回滚。最后,删除对Jenkins UI的依赖可以加速其设置和管理,减少出错的可能性,提高可重复性。JCasC插件的1.0版本于9月初发布,已经可以投入生产使用。

Jenkins X 是一个完全独立于Jenkins的解决方案(尽管它们在幕后共享相同的流水线引擎),Jenkins在今年早些时候引入了这个解决方案。它为基于 GitOps方式的云本地(基于Docker和Kubernetes)应用程序交付提供了很有独道见解的视图。它的优点之一是通过使用常见的第三方工具(Helm 图表、 Skaffold,和 Prow的1.3版本)以及快速入门功能,使新用户可以快速上手特定栈的通用流水线自动化。 jx 命令行工具进一步支持管理任务的自动化和流水线及Kubernetes集群和环境的设置。Jenkins X已经可以用于生产了。

当被问及创建像Jenkins X这样的独立解决方案是否会让人感到困惑或者增加采用的阻力时,川口耕介告诉InfoQ,Jenkins X与Jenkins“有着相同的DNA”,只是侧重点不同而已。Jenkins X针对特定的用例和工作流,减少了UI界面。他还认为,随着人们的接受程度不断提高,Jenkins X将在某个时候与经典Jenkins 捆绑在一起。川口更喜欢把生态系统看作一个整体:

Jenkins正在变得越来越大,不仅仅是一个web应用程序和一堆插件。它是一个自动化的平台。真正让Jenkins成为Jenkins的是这种生态系统的力量,许多人在此基础上构建和试验,并且走的是不同的方向。如果你关注Jenkins X, 会非常明显地看到其Jenkins DNA。

最后,将Jenkins现代化,使其在Kubernetes中作为一个完整的云本地应用程序运行,从而受益于更高的可用性和性能,这是云本地特殊兴趣组( Cloud Native special interest group)的目标。为了摆脱传统的客户机/服务器设计,这个团队将对Jenkins架构进行增量改进。例如,支持Jenkins数据的可插拔外部存储(当前保存在服务器的文件系统中),并向无状态Jenkins服务发展。目前还没有完成这一倡议或其任何部分的时间表。
我们非常渴望从InfoQ读者这里得到反馈。在与Jenkins一起成长的过程中,你是否遇到过什么痛点?你认为正在进行的计划会消除这些痛点吗?如果有什么意见建议,欢迎在下面评论。

查看英文原文:
https://www.infoq.com/news/2018/11/jenkins-world-initiatives

相关文章:

  • Vue官网教程学习过程中值得记录的一些事情
  • sass安装
  • LGPL与闭源程序
  • 聊聊flink的checkpoint配置
  • 堆的python实现及其应用
  • 创建一种深思熟虑的文化
  • 亚马逊Alexa借助神经网络生成播音员声音
  • 将VCSA 6.5添加到AD域
  • nginx 4层tcp代理获取真实ip
  • 刘鹏教授在新闻出版大数据应用管理技术专题培训班上作报告!
  • Mybatis配置返回为修改影响条数
  • spring源码-aop源码-5.1
  • 洛谷P2805 植物大战僵尸
  • python之上下文管理器与contextlib
  • 数据类型之函数笔记
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 345-反转字符串中的元音字母
  • DOM的那些事
  • export和import的用法总结
  • HTML中设置input等文本框为不可操作
  • HTTP中的ETag在移动客户端的应用
  • Node项目之评分系统(二)- 数据库设计
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • React-Native - 收藏集 - 掘金
  • underscore源码剖析之整体架构
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 成为一名优秀的Developer的书单
  • 动态规划入门(以爬楼梯为例)
  • 记一次删除Git记录中的大文件的过程
  • 京东美团研发面经
  • 删除表内多余的重复数据
  • 跳前端坑前,先看看这个!!
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 用quicker-worker.js轻松跑一个大数据遍历
  • Mac 上flink的安装与启动
  • Spring Batch JSON 支持
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Python) SOAP Web Service (HTTP POST)
  • (二)fiber的基本认识
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转载)虚函数剖析
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .NET 8.0 中有哪些新的变化?
  • .net core 6 redis操作类
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost