写点什么

Jenkins 将致力于提升稳定性、易用性和云原生兼容性

  • 2018-09-14
  • 本文字数:1267 字

    阅读完需:约 4 分钟

Jenkins 项目团队决定在稳定性和为 Kubernetes 等平台提供更好的支持方面分配一些工作量。前者可能会发生一些向后不兼容的变更,将影响发布模型并提供具有更多预置选项的版本,而后者将在与现有 Jenkins X 项目齐头并进。

Jenkins 目前在处理大型复杂管道方面可能不太稳定。Jenkins 的创始人兼 CloudBees 首席技术官 Kohsuke Kawaguchi 写道,由于资源问题和插件的升级,部分部署需要频繁重启。配置可能很脆弱,插件管理以及更改构建作业的设置可能会无法立即可见。为避免对系统造成破坏,系统管理员对变更总是犹豫不决。最终用户体验很复杂,因为 Jenkins 需要配置太多组件才能完成工作。由于没有足够的测试覆盖率,Jenkins 本身的开发速度受到限制。因为评审的周期太长,新老开发者的贡献受到了影响,这可能会对他们未来的贡献造成阻碍。

该提案的一部分试图通过更改发布模型并在保持向后兼容性方面采取措施来解决这些问题。在 Jenkins World 2017 贡献者峰会上,Kawaguchi 划定了应该开箱即用的 Jenkins 功能和需要管理员配置的功能区分。后者包括设置 HipChat/Slack 集成、Webhook 集成以及系统层面的设置(如用于电子邮件通知的 SMTP)。他还提出,部分解决方案是“将核心和一些重要的插件作为基础”,这样 Jenkins 就可以预先配置它们并缩短花在配置上的时间。 Jenkins 2.0 模型将继续,但可能会引入破坏向后兼容性的变更。

Jenkins Cloud Native SIG 驱动的云原生 Jenkins 提议是关于在 Kubernetes 等云原生平台上运行 Jenkins。 Jenkins X 平台就是这样的一个项目,它使用 Jenkins 作为核心引擎,并增加了一个工具集。Kawaguchi 表示,云原生 Jenkins 的未来是朝着 Jenkins X 的方向发展。这个版本的 Jenkins 很可能有一个不同的架构——将各种功能作为单独的微服务,使用功能即服务,而不是现在的这种构建进程,以及通过Kubernetes 自定义资源进行交互的服务。当前存储在文件系统上的数据将被移动到云存储服务。 Jenkins Configuration as Code (JCasC)项目尝试使用 Jenkins 主节点的声明性配置解决一些配置问题。此外, Jenkins Evergreen 项目“为最终用户提供了可以立即用于实现 CI 和 CD 工作负载的预装配件集”。Evergreen 可以进行自动更新。这两个将是云原生计划的关键部分。其他 CI 解决方案(如 Gitlab CI )已经可以与托管 Kubernetes 服务集成。

Jenkins X 通过环境的概念在Kubernetes 上实现微服务部署,环境概念表示源代码存储库中给定点的一组协同工作的服务。我们可以为Dev、Staging 和Production 或任何其他发布阶段创建环境。环境映射到Kubernetes 名称空间。Jenkins X 提供了一个名为jx 的命令行工具,可用于管理环境、在环境之间切换以及升级Jenkins 平台本身。它目前可以在MacOS 和Linux 上运行,并支持主要的云提供商,如AWS、GKE 和Azure。

考虑到其他CI 工具已经提供了类似的支持,有些用户认为这些努力为时已晚,但Jenkins 拥有庞大的用户群,或许它仍然可以给这些用户和新用户带来好处。

查看英文原文 Jenkins to Focus Efforts on Stability, Ease of Use and Cloud Native Compatibility

2018-09-14 15:231393
用户头像

发布了 731 篇内容, 共 456.8 次阅读, 收获喜欢 2003 次。

关注

评论

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

“深化产教融合·共育数字人才”全国产教融合信息化高峰论坛·江苏站成功举办

InfoQ_967a83c6d0d7

一家估值20亿美元的公司,竟然没有办公室?

Atlassian

远程办公 Atlassian Jira

Python代码调试指南

wangkx

Python Python基础

你期待的薪酬是多少?

escray

学习 面试

Docker 安装及配置镜像加速

哈喽沃德先生

Docker 容器 微服务

【Elasticsearch 技术分享】—— ES 常用名词及结构

程序员小航

Java 搜索引擎 elastic ES Lucene Elastic Search

我与游戏相伴【自我访谈2】

叶阳夏烟

系列 游戏 访谈录 剧情游戏 仙剑奇侠传

要刷LeetCode了,才发现自己连时间复杂度都不懂

大头星

算法 LeetCode

想不出来问题的你

escray

学习 面试

ARTS打卡Week 11

teoking

6. 二十不惑,ObjectMapper使用也不再迷惑

YourBatman

json Jackson ObjectMapper

Java ForEach语句判断是否为空

引花眠

bug

架构师训练营 - 第 8 周学习总结

红了哟

1.Flink任务之间通信开销-6

小知识点

scala 大数据 flink

大数据技术思想入门(三):分布式文件存储的流程

cristal

Java 大数据 hadoop 分布式

ARTS打卡(20.08.17-20.08.23)

小王同学

从Vessel到二代裸金属容器,云原生的新一波技术浪潮涌向何处?

华为云开发者联盟

Docker 容器 云原生 k8s Vessel

看智微智能互动录播系统如何建设“三个课堂”

InfoQ_967a83c6d0d7

disruptor 高性能队列最佳选择

柿子

队列 disruptoer 高性能队列

速看!今天我才知道,UUID还分五个版本

麦洛

Java uuid

架构师训练营第十一周作业

Melo

想问面试官什么问题么?

escray

学习 面试

MacOS抓包工具Charles

叉叉敌

ios charles 抓包

rockchip的yocto编译环境搭建

良知犹存

Linux yocto rockchip

关于Aborted connection告警日志的分析

Simon

MySQL MySQL错误日志

Java中的一些限制

xiaoxi666

Newbe.Claptrap 框架入门,第三步 —— 定义 Claptrap,管理商品库存

newbe36524

Docker 云计算 微服务 .net core ASP.NET Core

ARTS打卡 第13周

引花眠

微服务 ARTS 打卡计划

顺时针遍历矩阵,提高系统高并发350倍,React Native原理浅析 组件设计原则 安全架构 防火墙ModSecurity John 易筋 ARTS 打卡 Week 14

John(易筋)

ARTS 打卡计划 组件设计原则 React Native 高并发优化

浅谈 GET 和 POST 区别

叉叉敌

面试 post GET

utf8字符集下的比较规则

Simon

MySQL 字符集

Jenkins将致力于提升稳定性、易用性和云原生兼容性_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章