前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >X 战警降临,Jenkins X 正式发布

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

作者头像
DevOps时代
发布2018-04-17 16:33:07
1.8K0
发布2018-04-17 16:33:07
举报

重磅消息,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手势跟他打个招呼!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps时代 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jenkins X是什么?
  • Jenkins X 部分新特性
  • Jenkins X 核心组件
  • Jenkins X 安装试用
  • 关于Jenkins X的作者
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档