写点什么

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

  • 2018-12-06
  • 本文字数:1858 字

    阅读完需:约 6 分钟

五个举措:现代化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


2018-12-06 17:542371

评论 1 条评论

发布
暂无评论
发现更多内容

JVM - 类加载器

insight

3月日更

科技强国的使命召唤中,百度AI埋下三根未来“引线”

脑极体

银行业只是开始,60个可以被区块链改变的行业

CECBC

数字技术

为何数字人民币要采用“小额匿名、大额可溯”的设计?

CECBC

数字货币

FISCO BCOS 开发环境节点搭建 | 联盟链开发(一)

李大狗

区块链 联盟链 FISCO BCOS 狗哥

OpenCV 写图像也有讲究,取经之路第 5 天

梦想橡皮擦

28天写作 3月日更

架构师训练营 4 期 第12周

引花眠

架构师训练营 4 期

hive数据倾斜解决办法

五分钟学大数据

大数据 hive 28天写作 3月日更

Spark详细剖析

五分钟学大数据

大数据 spark 28天写作 3月日更

Java8中的 Stream 那么彪悍,你知道它的原理是什么吗?

Java小咖秀

Java 面试 stream java8 开发

Docker 教程(三):Docker 命令

看山

Docker

uni-app跨端开发H5、小程序、IOS、Android(四):了解uni-app项目结构

黑马腾云

html5 微信小程序 uni-app android iOS Developer

新年上班第一天生产环境分布式文件系统崩了!!

冰河

高可用 分布式存储 fastdfs 可扩展 无限扩容

在离开新手村后,你该如何的走出呢?打造属于你的快与慢的能力。

叶小鍵

【LeetCode】矩阵置零Java题解

Albert

算法 LeetCode 28天写作 3月日更

架构 idea

型火🔥

架构 原则 架构之道

Vue3源码 | createApp都干了什么?

梁龙先森

源码分析 大前端 Vue3

领域驱动设计101 - 通用语言

luojiahu

领域驱动设计 DDD

大数据中流量分析常见分类

大数据技术指南

大数据 28天写作 3月日更

2.3 Go语言从入门到精通:数据类型

xcbeyond

3月日更 Go 语言

正则表达式的使用与匹配原理解析

Guanngxu

正则表达式

MongoDB中的null类型查询

Kylin

mongodb 3月日更 21天挑战 数据库查询 NoSql查询语法

Python PyAutoGUI 库

HoneyMoose

(继续码字) 因果有顺序吗?是一种必要充分条件吗?

mtfelix

28天写作 bewriting 胡思乱想

工作多年后我更明白了UT的重要性

好好学习,天天向上

2021十大区块链领域即将起飞

CECBC

区块链 投资

产品训练营第八章作业

Arnold

Seldon使用(一):简介及入门

托内多

tensorflow kubeflow Kubernetes PyTorch seldon

控制台的安装与使用 | 联盟链开发(二)

李大狗

联盟链 FISCO BCOS 狗哥

探索 Snabbdom 模块系统原理

Geek_z9ygea

JavaScript Vue Web Vue 3 Snabbdom

Go Channel源码分析

非晓为骁

源码分析 channel Go 语言

五个举措:现代化Jenkins 和终结“Jenkinsteins”_数据库_Manuel Pais_InfoQ精选文章