一,目的
为了保证系统稳定性,对软件项目的上线过程进行规范,确保项目符合产品需求。对于已经开发完毕的系统,需要正式部署到生产环境前必须严格按照以下流程规范实施。
规范发版的流程,指定发版的相关输出,相关信息的收集,并通知相关业务方了解发版信息。防止或减少因发版造成的系统抖动对业务产生的影 响,并有利于追溯发版过程,方便后续优化迭代。
二,测试
1.测试部署到UAT
目的:测试根据开发提供的部署文档模拟配置生产环境,能提前发现开发遗漏配置等相关问题,提前暴露在UAT环境。
整个系统开发完毕后,首先要模拟配置生产环境,并将系统部署至UAT环境进行测试,开发负责人发部署说明邮件,由测试部署到UAT,(如部份功能需在生产环境验证的,则需要在晚上等时间确保客户不使用或最少使用系统的时间段上线,并确保进行紧急的冒烟测试),测试部署到UAT环境后通知产品经理发布发版计划通知。
2.发版计划通知
目的:主要是同步发版计划,让各端根据发版规划提前做出相应的调整。
部署到UAT环境后,由产品经理通过TAPD发送发版规划内容邮件通知到相关干系人,具体流程请看“二大类-发版规划”规范。
3.业务方体验测试
注:此项由产品经理自行确认是否需要业务方进入体验性测试
目的:业务方提前参与项目试用有助于提前熟悉相关功能以及能尽早的发现需求功能不是预期想要的。
在UAT环境测试通过后,由产品经理邮件通知业务方进入UAT环境进行体验性测试(邮件附带需求、BUG的定义以及BUG的级别定义说明)。
4.业务方体验提出的问题由测试同学评审并分类业务方提出的问题,修复需解决的BUG。
三,上线流程
3.1 项目迭代
1,发版规划
迭代版本确认后,由产品经理通过TAPD自带的项目报告功能(模板由项目委员会统一制定),发版规划需发送给此项目相关干系人(相关运营人员、产品、开发、项目总监、QA)
内容包括:项目名称、迭代版本、计划上线时间、影响时长、新增/更新功能、影响范围
报告模块使用方法:项目 --- 报表 --- 项目报告 --- 创建项目报告 --- 选择“发版规划模板”
报告示例:
2,发版前通知
执行阶段:迭代版本进入到UAT环境, 经产品经理确认无误后,需至少提前1小时发布通知邮件。
执行人:由产品经理通过TAPD自带的项目报告功能(模板由项目委员会统一制定)。
接收人:发版规划需发送给此项目相关干系人(相关运营人员、产品、开发、项目总监、QA)。
报告模块使用方法:项目 --- 报表 --- 项目报告 --- 创建项目报告 --- 选择“发版前通知模板”。
3,发版结果通知
发布上线后,由测试在线上进行验收,验收通过后告知产品经理,由产品经理发布发版结果通知,无论发布成功与失败在发布后30分钟内均需发布结果通知。
报告模块使用方法:项目 --- 报表 --- 项目报告 --- 创建项目报告 --- 选择“发版结果通知 模板”。
4,变更通知
当发版计划影响发布时间节点时,建议至少提前1小时发布变更通知邮件,由产品经理收集相关信息并发布通知。
报告模块使用方法:项目 --- 报表 --- 项目报告 --- 创建项目报告 --- 选择“发版变更通知 模板”
3.2 紧急发版处理
当产生线上bug或紧急需求时,可不经过上述发版流程,直接解决或实现后,由开发或技术负责人直接做发布通知即可。
若是线上BUG请按故障紧急处理规范执行,详见“线上产品故障处理规范”的“紧急措施”章节。
报告模块使用方法:项目 --- 报表 --- 项目报告 --- 创建项目报告 --- 选择“发版结果通知模板”。
四,发版后归纳总结
项目迭代版本发布上线一周内,以下各项由组负责人或产品经理检查并组织项目的复盘工作,归纳项目文件,总结相关经验。
1.巡检测试用例由各端负责巡检的测试同学编写并集成到jenkins对线上定时巡检。(注:编写巡检用例可由组内自由安排)
2.业务功能重要场景梳理,由产品经理梳理业务的重要等级并更新到以下链接文档中。
3.心跳检测,新上服务各端提供固定的接口,由运维负责加入到心跳检测。- - - 9.23日更新:当前上了K8S后未复现服务假死的情况,经运维确认,先观查一个月(10月底)如未复现,后续可不用添加心跳检测