写点什么

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

评论 1 条评论

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

《零基础》MySQL 连接的使用(二十),开发多年HashMap原理不知道

Java 程序员 后端

【java后台面经】春招&秋招求职大佬面试经验分享,java面试线程问题

Java 程序员 后端

【Java技术探索】,区块链技术kafka

Java 程序员 后端

YYDS,瞬间秒杀全网,这套Java面试笔记可以解决90,kafka基础架构消费模式

Java 程序员 后端

【 大厂必考之JVM】01,kafka原理和面试笔试题目

Java 程序员 后端

【Java8 新特性 5】Java8 stream的详细用法,java开发面试视频

Java 程序员 后端

《项目开发团队分配管理软件》,nginx面试题阿里

Java 程序员 后端

「并发原理专题」AQS的技术体系之CLH,java基础重点知识点

Java 程序员 后端

Zookeeper(从7个方面来了解Zookeeper基础概念),java新技术网站

Java 程序员 后端

VIVO一面竟然翻车,含泪整理了这些Java面经,看完我悟了

Java 程序员 后端

Zookeeper系列-我保证!样样聚到!没有一句废话,今日头条面试经历

Java 程序员 后端

「Java」手把手理解CAS实现原理,学习linux编程

Java 程序员 后端

【Java 多线程 3】线程池2,linux内核编程进阶篇pdf

Java 程序员 后端

uniapp props、$ref、$emit,如何保证高可用

Java 程序员 后端

volatile 和原子类的异同,画个图理解一下,面试官让我下周来上班

Java 程序员 后端

「Java」几种典型的内存溢出案例,linux视频教程迅雷下载

Java 程序员 后端

【Java从0到架构师】学习记录,BAT大厂面试基础题集合

Java 程序员 后端

VBA常用语法,操作系统原理与linux实践教程申丰山

Java 程序员 后端

《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标

Java 程序员 后端

「源码解析」 消息队列Kombu基本架构综述,透过根源从而探究红黑树的本质

Java 程序员 后端

vivo官网商城开发团队:同城双活与异地多活架构分析,java面试问项目流程

Java 程序员 后端

XML简介,kafka教程尚谷

Java 程序员 后端

“996”为什么还没实行(1),java零基础教程视频

Java 程序员 后端

“996”为什么还没实行,mybatis从入门到精通电子书

Java 程序员 后端

【Java 强化】代码规范,springcloud视频

Java 程序员 后端

【Java知识点详解 10】为何要配置环境变量(1),java从入门到精通第五版电子书百度云

Java 程序员 后端

Tomcat目录结构,java基础教程第三版

Java 程序员 后端

Zookeeper原理篇-Zookeeper启动流程分析,从底层开始带你了解并发编程

Java 程序员 后端

《黑马程序员》通讯录管理系统实战,终于搞明白了

Java 程序员 后端

【95 后 Java 程序员的大厂梦】三年开发经验,springboot开源项目讲解

Java 程序员 后端

Web开发基础:JavaScript常用类、面向对象和BOM,java中锁的实现原理

Java 程序员 后端

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