重磅消息,Jenkins X 已经正式发布啦!(文末有福利)
Jenkins X is a CI / CD platform for Kubernetes
早在2月,在比利时举办的Cloud Native Jenkins大会上,这个神秘项目就已经在社区内部进行过演示,当时我在现场和项目负责人James进行了深入交流。
Jenkins X 的设计不禁令人感叹开源社区的创新能力和对技术的执着。
3月20日,项目正式发布,我们确信CI与CD的新大门已经打开,小伙伴们快快上车啦!
“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 概念模型
1. 自动化一切:自动化CI/CD流水线
2. Review代码一键部署应用:基于GitOps的环境部署
3. 自动生成预览环境和信息同步反馈
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 支持公有云(目前仅限Amazon (AWS), Google (GKE), Microsoft Azure,国内的云厂商对接也在计划中),私有集群和单机环境(Minikube)。
应用的安装非常简单,仅需要 jx install
一条命令,但是由于种种原因,其中尚不完善,伴随很多潜在的坑,这方面我们稍后会发布部署文档和指导手册供大家参考,感兴趣的同学可以参考官方文档 http://jenkins-x.io/getting-started/
最后不得不提Jenkins X 项目负责人:James Strachan。
这哥们是一个不折不扣的大神级人物,创造了Groovy语言和Apache Camel集成框架,热衷于技术并富有极客精神,笔者之前跟他有过深入交流,James乐于分享以及十倍速的英语让人印象深刻。
好消息是:在今年6月29~30日的DevOps国际峰会(DOIS)上,他极有可能现身中国,跟中国的Jenkins爱好者们畅聊Jenkins X,到时候让我们以他自创的Jenkins X手势跟他打个招呼!