2017云栖大会苏州峰会上,阿里巴巴研发效能事业部技术专家王霞带来云效+飞天敏捷的DevOps解决方案,主要分享了云效以及飞天敏捷版的整个部署流程,包括怎样保证容器化迁移的质量和效率问题。
以下是精彩视频内容整理:
浅谈云效
分布式架构服务化、容器和DevOps在近年来比较流行,那么,如何基于容器底层IaaS层实现DevOps解决方案?
云效用于促进软件开发、技术运维和质量保障(QA)部门之间的沟通、协作与整合
云效为一站式研发协同平台,它会将配管、研发、测试以及运维等所有研发行为invlove到云效上。具体过程如图,项目开始从配管开始拉分支,开发人员完成后可以在云效上自动做持续集成,单元测试、代码自动化扫描在云效上自动完成,经过一段时间研发后,开发人员可以通过云效部署开发自测环境,在这套环境上做一系列测试,开发人员在做自测或者研发同时,测试会完成一系列测试分析、自动化测试准备等,所有工作完成后,开发人员会做提测,接下来会完成手工用例的执行和缺陷跟进。经过多轮测试后,项目在云效上作提交发布,完成研发代码向客户价值交付的流程
云效与飞天敏捷版:共同的解决方案
云效与飞天敏捷是如何实现基于容器底层IaaS层的DevOps解决方案呢?
在做虚拟化时,应用通过编译打包出的脚本再通过Docker File生成镜像,飞天敏捷版通过镜像仓库拉取镜像完成环境部署流程。在整个过程中,开始要完成每个应用Docker File创建,并在云效上根据用户的编译脚本打包生成部署包,部署包+Docker File生成镜像,这些镜像存储在飞天敏捷版镜像仓库中,在项目测试过程中,我们需要做一系列环境构建,应用发布时云效会自动与飞天敏捷版对接,在云效上只需要点击一个按钮就可以把应用容器部署到飞天敏捷版上,完成测试环境构建和线上发布流程。
具体来说,云效测试环境模块对接飞天敏捷版容器底层。云效上直接点击部署就可以自动触发飞天敏捷版部署 ,启动过程中的任何日志也可以通过飞天敏捷版看到,开发人员不需要关心容器底层的技术知识。
在研发阶段,我们需要做持续集成。在项目的编码阶段,任何一次代码CI都会触发单元测试执行,通过飞天敏捷版容器安全扫描功能确保云效构建容器的安全性,通过代码的持续集成和镜像构建保证了研发阶段代码和镜像交付的质量。
容器化迁移中的质量保证与效率提升
在实现云效+飞天敏捷版DevOps解决方案功能的过程中,需要解决以下三点问题:
- 提升企业在大规模应用批量升级Docker过程中的效率;
- 降低企业开发人员在Docker化升级过程中的学习成本;
- 统一升级规范,减少潜在质量风险。
对此,基于云效和飞天敏捷版在阿里落地容器化过程中,我们首先获取应用Docker配置,接着将应用主干代码配合生成的Docker配置文件调用相关编译系统进行打包,然后完成应用配置,根据应用信息获取配置信息并将配置信息打进编译生成的裸包,完成镜像制作并推送到镜像仓库,最后通过云效拉取应用Docker镜像完成测试环境部署,并通过应用可用性监控及其它自动化测试条件完成应用验证。
通过这套方案,使应用构建成功率达到80%,降低了每个应用配置升级时间消耗,并且在升级过程中未出现任何故障。
此外,在做容器化过程中,除了对接飞天敏捷版外,还可以把机器托管到云效上,通过传统shell脚本方式完成开发测试环境部署,云效并行兼容容器化研发方式与非容器化研发方式,用户只需要一键部署即可完成开发测试工作。
云效涉及保险、银行、证券、新零售、地产等多个领域,众多客户都选择与云效合作,包括众安保险、光大银行、天弘基金、广发银行等都在使用云效。
以上由云栖社区志愿者小组整理,毛鹤校审,编辑:郭雪梅