互联网项目各阶段部署申请流程
- 1 概述
-
- 1.1 问题
- 1.2 方案
1 概述
1.1 问题
??我们知道互联网软件项目通常采用持续迭代的模式推进整个项目的开发,软件部署相当的频繁,很多互联网公司的软件上线周期都是一到两周左右,从需求提出到部署上线周期都相对比较短,频繁改动系统代码,多多少少都会对既有系统产生一些影响,导致系统出现各种不稳定状况,如果没有一套行之有效的审核机制,就会给整个系统带来很多不可知的问题。
1.2 方案
??通常情况下,互联网软件开发团队软件开发会分成编码、自测、测试人员测试、上线前模拟测试、上线几个阶段,这里我们将开发人员开发阶段称为为snapshot阶段,测试人员测试阶段称为alpha测试阶段,将上线前模拟测试称为beta测试阶段,将上线阶段称为release阶段。与之对应的部署环境,分别称之为snapshot环境、alpha环境,beta环境、release环境,即:
??通常为了规范各个环境的部署工作,我们需要一套行之有效的部署审批机制,来规范软件在各个环境的中的部署。下面是一套大部分互联网公司普遍实行的部署审批流程:
??1、项目负责人提交部署申请单给运维负责人,部署申请单中需要明确以下内容:(1)功能列表说明。(2)各功能点主要责任人清单。(3)本次部署对其他系统的影响。(4)本次部署需要其他系统提供哪些辅助。(5)接口变更列表。(6)数据库变更清单。(7)部署依赖关系。(8)部署清单及注意事项。(9)部署脚本清单。(11)本次部署涉及哪些代码库其分支、版本说明清单。(12)各功能点对应的测试报告清单。
??2、运维负责人将部署申请单指派给测试负责人,要求测试负责人确认功能清单对应的测试报告是否符合要求。
??3、测试负责人向各功能点测试责任人确认部署申请单中的功能点是否符合要求。
??4、测试人员分别确认部署申请单中的功能是否符合测试要求。
??5、测试人员在确认部署申请单中的功能列表时,如果发现某项功能点未达测试指标,需要及时向测试负责人反馈,测试负责人会及时将未达标功能点反馈给运维部署负责人,运维负责将会以部署申请单测试不达标为由驳回部署申请,要求项目负责人在合适的时候重新提交部署申请单。
??测试人员经测试确认部署申请单中的功能点已经符合测试指标,将向测试负责人反馈测试已达标。
??6、测试负责人经逐一确认部署申请单中功能点全部已达标后,向运维负责人反馈部署申请单功能列表全部达标。
??7、运维负责人向运维人员分派部署任务。
??8、运维人员审核部署清单及部署脚本。
??9、运维人员如果发现部署清单及部署脚本不符合要求,则需要及时向运维负责人反馈,由运维负责及时驳回部署申请给项目负责人。
??10、运维人员如果经审核发现部署清单及部署脚本已达标,那么就可以开始实施部署任务了。
??11、运维人员针对部署申请单的要求部署完成需向运维负责人反馈。
??12、运维负责人向项目负责人反馈部署完成。
??13、项目负责请求测试负责人做验收测试。
??14、测试负责人分派验收测试任务给测试人员。
??15、测试人员做验收测试。如果在做验收测试的时候发现问题需要及时创建Bug单并分派给项目负责人,由项目负责人将Bug单划拨给相关责任人手中。
??16、测试人员向测试负责人反馈测试验收完成。
??17、测试负责人向项目负责人反馈验收测试完成。
??18、项目负责人向产品负责人请求验收部署成果。
??19、产品负责人分派验收任务给产品人员。
??20、产品人员验收部署成果。如果发现有问题,需与测试、开发责任人确认,必要时创建Bug单由开发责任人修复。
??21、产品人员向产品负责反馈验收成功。
??22、产品负责人向项目负责人反馈验收成功。
??考虑到beta、release环境的特殊性,所以需要在上述审批流程的大框架下进行。