原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『互联网架构』软件架构-软件环境的持续发布管理(下)(24)
上次说了持续集成需要处理的问题,最大的问题就是团队的协调和写作,也说了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包集合
- 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件事情并行一起做。在流程化管理里面除了测试人员,就是日常管理人员,可能是项目经理,他要跟各个方面打交道,协调处理,这个能力需要多锻炼。
网友评论