作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
DevOps是Development和Operations的组合,也就是开发和运维的简写。那句话怎么说来着,DevOps的价值应由业务价值的产出来评判,而不是根据IT项目范围和IT成果来评判。一.DevOps概述
1>.什么是DevOps
企业往往同时拥有交互型系统(SoE)和记录型系统(SoR)。SoE系统关注的是速度,SoR系统关注的是业务连续性。问题是当SoE频繁变更的时候,如何保障SoR的业务连续性呢?Gartner公司把这称为双峰挑战(Bimodal challenge)。
DevOps是针对企业中的研发人员,运维人员和测试人员的工作理念,是他们在应用开发,代码部署和质量测试等整条生命周期中协同和沟通的***实践,DevOps枪带哦整个组织的何做以及较父和基础设施变更的自动化,从而实现持续集成,持续部署和持续交付。
DevOps的四大平台:
代码托管:
GitHub,GitLib,SVN,码云等,
项目管理:
jira,Gerrit权限审计。
运维平台:
腾讯蓝鲸开源平台。
持续交付:
Jenkins开源软件。
一般情况下,软件测试分为以下几个步骤:
开发测试环境:
一般是由Dev用自己的测试环境进行测试,测试通过后由运维将具体分支代码打包并交给测试。
预发布测试环境:
由QA进行测试,找到Bug后提交到相应bug追踪平台,再由Dev进行修复Bug,经过多轮测试后,经各层领导确认后开始灰度发布阶段。
灰度发布:
只对线上版本的部分用户进行测试,如果你玩过英雄联盟(LOL)的话一定知道LOL进行升级的时候,有的时候会对部分大区进行维护,其实这就有种类似于灰度发布的应用场景。
灰度发布的优点就是用部分生产环境进行测试,如果运行一段时间没有问题后就会批量升级,如果测试不成功则随时可以回退到之前的版本。
生产发布环境:
灰度发布只会影响到一部分用户,如果灰度测试一段时间没有问题时就会对剩下的为升级的代码按规模进行批量升级或者分批次升级
我们知道类似于百度,阿里,腾讯这样的大型互联网公司,在全国各地应该都有自己的机房,在进行代码升级时可能会按照不同的机房进行升级。