日前,Netflix开源了他们的持续交付平台 Spinnaker 。Spinnaker是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。
6年前,Netflix率先将服务部署到了AWS上,为此,他们开发了一系列工具,其中一个基于AWS的自动部署平台: Asgard 。1年前,Netflix开始了Spinnaker,以实现内部的端到端持续交付。作为Asgard的替代,该项目期望重建一个持续交付平台,能够 实现 :
同时,Spinnaker作为云平台部署工具,Spinnaker团队和 Google 、微软、Pivotal等公司合作,致力于提供在多种平台上实现开箱即用的集群管理和部署功能。目前,Spinnaker可以部署管理AWS和Google云平台(GCP),针对Azure等平台的支持也在进行中。
Spinnaker主要包含2块内容,集群管理和部署管理。
集群管理功能,主要用于管理云上的资源。集群管理将云上资源做了逻辑划分:
部署管理功能用于创建一个持续交付流程。部署管理的核心是管道,在Spinnaker的定义中,管道由一系列的阶段(stages)组成。管道可以由Jenkins、定时器、其他管道或者人工触发。同时,管道可以配置参数和通知,可以在管道一些节点上发出消息。Spinnaker已经内置了一些阶段,如执行自定义脚本、触发Jenkins任务等。
Spinnaker的源码可以在 GitHub 上查看,参照 文档 即可从源码开始进行部署和试用。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。