上次说了持续集成需要处理的问题,最大的问题就是团队的协调和写作,也说了confluence和SVN,要打仗一定要装备牛X,没有装备怎么打仗呢。我们选择confluence 和svn,jenkins协作来进行开发。
都是按照我们之前的项目风格来的,当时没有使用自动化的工具,也依靠这个项目的流程支持了全国的项目。后来行业不景气,但是我们这套流程基本可以说没有出现过问题。
上线的流程:商品,交易,web
1.商品项目.war
2.交易项目.war
3.web展示项目.war
####发布的流程
(开发版本发布的窗口,编写要发布的系统confluence)
表格的创建是由测试人员或者平台管理者来进行创建
开发人员进行填充编写
建立2个文件夹,一个daily 和一个release
1.daily 日常版本号下的所升级的war包,了解线上到底发布了多少个版本,每个版本设计到哪些系统。
2.release 是某个项目所升级的war包集合
根据本次升级的confluence中的表格,将项目提交到daily目录下
根据本次升级的confluence中的表格,将项目提交到daily目录下
通过版本里面的项目,更新测试环境。例如:V1.0.0里面有3个war包,运维人员根据这3个war包更新指定的项目
由测试人员通知运维人员,将V1.0.0的项目中的war放到指定的release版本下
测试人员继续测试,没有问题
9.发布到生产环境
流程总图
如果公司人数很少只有1-3个人的话,不建议这么复杂,其实这么复杂就是为了多人员控制,进行人员的合理化控制。避免犯错,协同写作。图是按照全部成功的流程来画的,其实在测试的阶段也是在不停的反复的,直到系统没有问题。
PS:其实这个流程图很规范,最好是配合之前写的tomcat.sh和deploy.sh进行。搞开发一定要工具化流程化,以后的都是这样的工具化,流程化,模块化。都不是单兵作战了,协调能力比你的代码能力还重要,写代码公司招的人都是写代码的,其实都会。说实话协调能力我不擅长做这个事情。非常不擅长4,5件事情并行一起做。在流程化管理里面除了测试人员,就是日常管理人员,可能是项目经理,他要跟各个方面打交道,协调处理,这个能力需要多锻炼。