专栏首页DevOps时代的专栏X 战警降临,Jenkins X 正式发布

X 战警降临,Jenkins X 正式发布

重磅消息,Jenkins X 已经正式发布啦!(文末有福利

Jenkins X is a CI / CD platform for Kubernetes

早在2月,在比利时举办的Cloud Native Jenkins大会上,这个神秘项目就已经在社区内部进行过演示,当时我在现场和项目负责人James进行了深入交流。

Jenkins X 的设计不禁令人感叹开源社区的创新能力和对技术的执着。

3月20日,项目正式发布,我们确信CI与CD的新大门已经打开,小伙伴们快快上车啦!

Jenkins X是什么?

“X”注定是一个不平凡的名字,Jenkins X 对于整个Jenkins生态而言也是不平凡的存在。

简而言之,Jenkins X 是一个高度集成化的CI/CD平台,基于Jenkins和Kubernetes实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。

你猜的没错,Jenkins X 只能在Kubernetes集群上运行,这有并不意外。Kubernetes已然成为了容器编排的一枝独秀,各大厂商纷纷转向Kubernetes,发布了自己的公有云、操作系统或PaaS平台。

另外,微服务和云原生应用解决方案也日臻成熟,以Spring Boot为代表的一系列体系框架也开始走到舞台中央。

与此同时,随着应用架构的细分和服务间的解耦,服务具备了独立发布的能力,这也使得微服务架构下的持续交付成为业界所关注的热门领域,我们需要更加灵活的CI/CD自动化解决方案,以应对越发快速的交付需求。

注:Jenkins的企业版CloudBees,已经加入CNCF(云原生计算)基金会

看到这里,你是不是觉得Jenkins X 就是个基于Kubernetes的持续交付平台呢?

那你就大错特错了,因为Jenkins X想要实现的远非如此而已!

试想如下场景:

越来越多的工具和实践,工程师们需要会写Kubernetes YAML,Dockerfile,Jenkinsfile,对微服务、云原生、Kubernetes和Jenkins非常熟悉。 臣妾做不到呀!

而在Jenkins X的世界中,这一切都是通过命令完成。

可以说Jenkins X重新思考了未来云原生应用下研发工程师和CI/CD的交付方式,通过整合工具,自动化和DevOps最佳实践,改善了研发过程中的复杂环节,让研发可以专注于价值创造,其他的事情通通交给Jenkins X来帮你解决。

神奇吗?

的确,在第一次看到项目演示的时候,我也惊叹世界的变化如此之快,在Jenkins X的设计中,整合了Helm,Draft,GitOps,以及Nexus,chartmuseum,monocular等诸多新系统和工具,从而实现自动构建编译环境,生成容器镜像,流水线,自动化部署,并通过简单的Review实现不同环境间的自动发布。

这一切都被完美的封装在简单的jx命令之后。同时你也无需担心对内部实现细节的失控,因为一切都被妥善的版本控制,可以自定义和修改,可以说Jenkins X为你实现了自动化的CI/CD和DevOps最佳实践,持续交付不再是难事,进而提升生产力,实现促进企业的业务成功!

Jenkins X 概念模型

Jenkins X 部分新特性

1. 自动化一切:自动化CI/CD流水线

  1. 选择项目类型自动生成Jenkinsfile定义流水线
  2. 自动生成Dockerfile并打包容器镜像
  3. 自动创建Helm Chart并运行在Kubernetes集群
  4. 自动关联代码库和流水线,作为代码变更自动触发(基于Webhook实现)
  5. 自动版本号自动归档

2. Review代码一键部署应用:基于GitOps的环境部署

  1. 所有的环境,应用列表,版本,配置信息统一放在代码库中进行版本控制
  2. 通过Pull Request实现研发和运维的协同,完成应用部署升级(Promotion)
  3. 可自动部署和手动部署,在必要的时候增加手工Review
  4. 当然这些都封装在jx命令中实现

3. 自动生成预览环境和信息同步反馈

  1. 预览环境用于代码Review环节中临时创建
  2. 同Pull Request工作流程集成并实现信息同步和有效通知
  3. 验证完毕后自动清理
  4. 提交和应用状态自动同步到Github注释
  5. 自动生成release notes信息供验证

Jenkins X 核心组件

Jenkins

Jenkins X不是一个全新的Jenkins。

他依然使用Jenkins作为持续交付的核心引擎,实际上Jenkins X作为Jenkins的一个子项目存在,专注于云原生应用的CI/CD实现,同时也帮助Jenkins自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。

在之前同Jenkins创始人和核心骨干的交流中,我们也了解到Jenkins已经开始着手改变。

HELM

Helm是用于管理Kubernetes资源对象的工具,类似APT,YUM和HOMEBREW,他通过将Kubernetes的资源对象打包成Chart的形式,完成复杂应用的部署和版本控制,是目前业界流行的解决方案

DRAFT

Draft是自动化应用构建和运行在Kubernetes上面的工具,具有语言识别能力,能够自动生成构建脚本,依赖,环境并打包成docker镜像并部署在Kubernetes集群上,加快代码开发节奏,而无需关心基础设施层面的技术实现

GitOps

GitOps是weaveworks推出的天才的应用部署解决方案,他将Git作为整个应用部署的单一可信数据源(SSOT),通过类似代码开发的Pull Request流程完成应用部署的Review和自动化实现,并且将部署配置信息纳入版本控制。

当然Jenkins X还包含更多高科技的内涵,深度解读敬请期待。

Jenkins X 安装试用

Jenkins X 支持公有云(目前仅限Amazon (AWS), Google (GKE), Microsoft Azure,国内的云厂商对接也在计划中),私有集群和单机环境(Minikube)。

应用的安装非常简单,仅需要 jx install一条命令,但是由于种种原因,其中尚不完善,伴随很多潜在的坑,这方面我们稍后会发布部署文档和指导手册供大家参考,感兴趣的同学可以参考官方文档 http://jenkins-x.io/getting-started/

关于Jenkins X的作者

最后不得不提Jenkins X 项目负责人:James Strachan。

这哥们是一个不折不扣的大神级人物,创造了Groovy语言和Apache Camel集成框架,热衷于技术并富有极客精神,笔者之前跟他有过深入交流,James乐于分享以及十倍速的英语让人印象深刻。

好消息是:在今年6月29~30日的DevOps国际峰会(DOIS)上,他极有可能现身中国,跟中国的Jenkins爱好者们畅聊Jenkins X,到时候让我们以他自创的Jenkins X手势跟他打个招呼!

本文分享自微信公众号 - DevOps时代(DevOpsTimes)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 轻量化 Jenkins 最佳实践

    前言 今天分享主题主要分成三个部分: 第一部分,Jenkins跟持续交付; 第二部分,Jenkins轻量化思路; 第三部分,Jenkins高可用实践。 一、Je...

    DevOps时代
  • DevOps 三剑客:Dev,Ops and Jenkins

    每一位开发、测试和运维工程师,都有一个私人管家,他的名字叫Jenkins. Jenkins World就像这位管家的生日Party,大家聚在一起狂欢,分享Jen...

    DevOps时代
  • Jenkins Area Meetup 2019 北京首站沙龙精彩回顾(附PPT)

    2019年5月19日,首都天气晴朗,万里无云,100多名 Jenkins 用户同时相聚在北五环的北辰泰岳大厦, 2019 年首次 Jenkins Area Me...

    DevOps时代
  • 【持续集成】Jenkins的安装和使用

    muntainyang
  • Jenkins as Code-基础设施-项目-系统配置

    Jenkins的安装和部署相对简单,安装方式有很多。 可以使用一些常见的配置管理工具(Ansible、Puppet、Chef)进行安装部署,还可以使用Docke...

    泽阳
  • DevOps 三剑客:Dev,Ops and Jenkins

    每一位开发、测试和运维工程师,都有一个私人管家,他的名字叫Jenkins. Jenkins World就像这位管家的生日Party,大家聚在一起狂欢,分享Jen...

    DevOps时代
  • Happy Second Birthday Jenkins X!

    始于 2019 年初的 Jenkins X 项目在去年的1月14号庆祝了它的第一个生日,这对任何开源项目来说都是一件大事,我们刚刚又庆祝了它的第二个生日。

    LinuxSuRen
  • 轻量化 Jenkins 最佳实践

    前言 今天分享主题主要分成三个部分: 第一部分,Jenkins跟持续交付; 第二部分,Jenkins轻量化思路; 第三部分,Jenkins高可用实践。 一、Je...

    DevOps时代
  • 自动更新、易于使用的 Jenkins

    当我第一次 写 Jenkins Evergreen 相关的文章 , 后来被称为 “Jenkins Essentials”,我提到的一系列的未来的发展在接下来的几...

    LinuxSuRen
  • Centos 7 下安装 Jenkins

    Jenkins是一个开源的支持自动化构建、部署等任务的平台。基本上可以说是持续集成(CI)、持续发布(CD)不可或缺的工具。

    武培轩

扫码关注云+社区

领取腾讯云代金券