对部署环境管理的一些理解

最近刚好闲下来,对这几年的一些工作记录,今天思考了一些代码部署环境的一些看法:
中小公司3/4套环境即可:
开发环境,测试环境,生产模拟环境(可选),生产环境
为何需要这么多套环境
1.各个人员使用个字环境,保证其工作不互相影响
2.最大程度提高生产力,代码快速运行
3.提高版本迭代速度
4.满足各个环境收益人的需求

开发环境

这个环境的收益人是开发侧,这个环境在项目开始阶段准备好。微服务结构,在开
发开始前准备好一些公共组件,运行上去,比如:注册中心,配置中心,数据库mysql等。这套环境对开发侧完全透明,他们有所有权限,一般java应用部署需要一台机器即可,在部署jar包时候,可以限制一下内存和cpu 这个环境没有大的并发需求。在呆过的公司里,很多公司是程序员自己电脑上做开发环境,这个对于小项目可以,但是这多微服务项目,个人电脑很难跑起来。我们将一些公共的服务装在服务器,程序员将每个人自己负责的微服务注册到服务器的注册中心,将现有服务器上的应用下线,调试开发。对接jenkins每次程序提交代码自动触发发布。

测试环境

测试环境主要受益人测试同学,所有权限对测试同学公开。 代码大体完成,基本流程走通后部署完成,前期不用部署。这个和开发环境完全隔离。环境发布迭代由运维完成,对接jenkins ,手动触发发布,发布周期由代码迭代情况而定。注意在此环境发布,不仅包换代码发布,还有配置和sql的发布。对于sql和配置程序,我们是有程序负责人统一收集执行,这方面有点薄弱大家,在发布到测试环境的时候注意。

生产模拟环境

模拟环境,最大程度的模拟生产环境,这个环境的受益人是运维。这个环境也可以作为,体验验收等使用。和生产环境部署在同一个网路环境,使用组件和服务器都和生产环境完全一致。在生产上线前,在模拟环境的验收测试完成即可,也可对接jenkins 这个环境可以一周为单位进行发布。

生产环境

对于正真的生产环境,客户进入后一定要保持稳定性和安全性,在华为学到的一句话“对生产保持敬畏之心”。一切的生产操作 都要审批,相关负责任确认。

你可能感兴趣的:(对部署环境管理的一些理解)