乐趣区

关于持续集成:一站式交付体验云效Kubernetes

背景

云效依靠于阿里巴巴研发效力多年规模化继续交付,赋能云上开发者专为云端用户提供的一站式研发合作平台。Kubernetes,由 Google 开源的容器集群治理平台,面向运维侧提供自动化的集群和利用治理解决方案。

一站式交付体验:云效 +Kubernetes,云效继续集成流水线 Flow 属于企业级继续集成和继续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,实现从开发到上线 CICD 过程。通过继续向团队提供及时反馈,让交付过程高效顺畅。

外围能力

通过联合云效与 Kubernetes 能够无效买通从研发合作,继续交付以及自动化运维的整个软件交付生命周期。

研发治理:通过看板继续治理和跟踪团队需要,缺点。并通过继续度量发现研发中的瓶颈并作出改良。

继续交付:通过流水线治理代码的继续集成,测试,部署以及公布行为,通过自动化的形式定义软件的整个交付过程。

Kubernetes: 屏蔽云端基础设施差别,提供多云的一致性基础设施和利用治理体验。

全功能团队合作

在一个典型的全功能团队中,个别会蕴含以下角色:

  • 开发人员:继续提交代码并且通过继续集成运行单元测试,构建等工作,疾速获取反馈。在实现继续集成后,可能主动部署代码到开发测试环境,以便在须要的时候可能对新开发的性能进行疾速验证。
  • 测试人员:绝对于开发来说,测试心愿有一个绝对较稳固的验收测试环境,并且能按需部署代码到测试环境(个别是开发人员自测实现后)。
  • 运维人员:惟一领有将版本部署到生产环境改的权限,能一键实现生产环境部署,但对权限和平安公布有更高的要求。

继续交付流水线

继续交付流水线专一于从代码到公布的端到端自动化过程。基于云效提供的流水线编排能力,如上所示,基于云效继续交付流水线,咱们能够疾速编排一个继续交付流水线来承载全功能团队合作的需要。

阐明
立刻体验:云效流水线 Flow

基于流水线的团队合作

在流水线中咱们别离创立:CI(继续集成),Dev(开发环境部署),Test(测试环境部署),Prod(生产环境部署)4 个阶段。同时为了实现不同角色之间的合作与工作流转。咱们将 CI,Dev 阶段设置为主动执行,Test,Prod 为手动执行,并且减少了相应的人工卡点以确保只有相应角色的人员可能确认开始执行部署动作。

如下所示,每次开发人员提交代码后都可能触发并主动实现 CI 以及 Dev 环境的部署,如果 CI 流程有工作的异样都可能通过钉钉以及其余形式疾速获取到反馈。

因为 Test 阶段定义为手动执行,因而当须要部署测试环境时,测试人员能够手动触发该阶段的部署,为了确保测试环境不被其它角色进行误操作,在执行部署动作前须要具备测试 owner 角色的人员来手动验证,以开始测试环境部署。

当 Dev 以及 Prod 阶段均胜利当前,运维人员就能够按需对生产环境进行部署。

上述咱们定义了一个最简略的反对开发,测试,运维进行协同工作的继续交付流水线。

更多扩大玩法

基于流水线的流程编排能力,咱们能够在上述流水线根底上按需扩大更多的玩法。

例如:在生产公布之前,咱们能够增加一个 Beta 测试环境减少更多的环境来确保生产环境的平安部署。

或者在 Beta 以及 Prod 阶段再减少一个只蕴含人工卡点的阶段,在这种场景中咱们能够由专门角色的人员负责正式部署前 Beta 环境的验证,并且只有在验证通过之后能力进行 Prod 环境的公布:

一站式交付体验:云效 +Kubernetes,云效继续集成流水线 Flow 属于企业级继续集成和继续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,实现从开发到上线 CICD 过程。通过继续向团队提供及时反馈,让交付过程高效顺畅。

退出移动版