『互联网架构』软件架构-软件环境的持续发布管理(下)
上次说了持续集成需要处理的问题,最大的问题就是团队的协调和写作,也说了confluence和SVN,要打仗一定要装备牛X,没有装备怎么打仗呢。我们选择confluence 和svn,jenkins协作来进行开发。
演练大型项目超过50人团队的管理风格
都是按照我们之前的项目风格来的,当时没有使用自动化的工具,也依靠这个项目的流程支持了全国的项目。后来行业不景气,但是我们这套流程基本可以说没有出现过问题。
- 项目的名称
上线的流程:商品,交易,web
1.商品项目.war
2.交易项目.war
3.web展示项目.war
####发布的流程
- 1.制定版本的发布计划
(开发版本发布的窗口,编写要发布的系统confluence)
表格的创建是由测试人员或者平台管理者来进行创建
开发人员进行填充编写
- SVN建立版本库
建立2个文件夹,一个daily 和一个release
1.daily 日常版本号下的所升级的war包,了解线上到底发布了多少个版本,每个版本设计到哪些系统。
2.release 是某个项目所升级的war包集合
- SVN建立版本库
3.提交程序版本文件到daily目录下
根据本次升级的confluence中的表格,将项目提交到daily目录下
4.提交配置文件,数据库脚本到到daily目录下
根据本次升级的confluence中的表格,将项目提交到daily目录下
5.更新测试环境
通过版本里面的项目,更新测试环境。例如:V1.0.0里面有3个war包,运维人员根据这3个war包更新指定的项目
6.更新测试环境 7.测试通过
由测试人员通知运维人员,将V1.0.0的项目中的war放到指定的release版本下
8.发布到预演环境
测试人员继续测试,没有问题
9.发布到生产环境
- 流程总图
如果公司人数很少只有1-3个人的话,不建议这么复杂,其实这么复杂就是为了多人员控制,进行人员的合理化控制。避免犯错,协同写作。图是按照全部成功的流程来画的,其实在测试的阶段也是在不停的反复的,直到系统没有问题。
PS:其实这个流程图很规范,最好是配合之前写的tomcat.sh和deploy.sh进行。搞开发一定要工具化流程化,以后的都是这样的工具化,流程化,模块化。都不是单兵作战了,协调能力比你的代码能力还重要,写代码公司招的人都是写代码的,其实都会。说实话协调能力我不擅长做这个事情。非常不擅长4,5件事情并行一起做。在流程化管理里面除了测试人员,就是日常管理人员,可能是项目经理,他要跟各个方面打交道,协调处理,这个能力需要多锻炼。
©著作权归作者所有:来自51CTO博客作者IT人故事的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 性能测试 —— MySQL 基准测试
- 性能测试 —— Redis 基准测试
- 性能测试 —— Dubbo 基准测试
- Azure DevTest Lab体验(二)用户测试
- 分布式事务 TCC-Transaction 源码分析 —— 项目实战
- 注册中心 Eureka 源码解析 —— 项目结构简介
- 为什么现在的开发都要懂测试了?没错是的,下面一份最强书单送给你。
- 给Python初学者的最好练手项目,进来看就对了!
- 小奎因的 PYTHON 项目部署与调度直播分享来了