1、布比项目上线部署发布流程V1.02017/9/141、目的规范公司项目和产品的上线流程,建立和完善产品的版本控制,保证软件产品质量。2、范围适用于公司所有项目和产品3、发布人员开发环境由开发人员内部负责(包括维护和管理开发分支和 git 代码库)测试环境由测试人员负责预热环境由运维人员负责正式环境由运维人员负责*数据库操作均由 DBA 统一负责(或运维人员)4、发布流程在已开发完毕的各系统正式部署生产环境前要严格按照以下流程进行上线前检查。一、 提交测试a) 开发人员在功能开发完毕后首先配置开发环境,并将系统部署至开发环境。在开发环境经过自测通过后提交测试代码,并开始撰写上线方案。(上线方案须
2、包括新增的外部应用程序安装,应用程序部署顺序及应用关联性、是否关闭其他应用服务,数据库脚本,制定合理的上线时间,涉及的服务影响范围以及上线失败的回滚步骤。)并提交相关技术负责人审核,在审核过后邮件给相关测试人员。b) 测试人员根据模块功能文档并制定测试方案,测试用例,特别注意临界点测试方案。c) 测试人员通过自动化部署平台根据提供的分支号依照上线方案进行自动化部署,涉及数据库操作可提请 DBA 操作。d) 记录各种数据测试结果及测试问题,并交由相关开发人员进行二次迭代处理,该点须交付测试结果报告。e) 内测完毕后交由相关业务及需求人员进行集成测试,并请测试人员记录测试结果及问题,交由相关开发人
3、员进行再次迭代。该点须交付测试方案测试结果报告。二、 预热发布a) 测试人员在测试环境测试并跟踪修改 bug 达到上线标准(没有A、B 级 bug,C 级 bug 达到要求)时。开始部署预热环境,测试人员对现有功能在预热环境上进行验收测试(重新执行 case) 。紧急 Bug 修改走补丁/hotfix 流程。不影响功能的 bug 留到下次版本解决,确认达到上线标准。b) 如达到上线标准,测试人员发起邮件通知相关开发人员、产品人员,准备正式上线发布流程。三、 正式上线a) 在测试人员确认项目具备上线条件下,正式上线前,开发负责人须发起部署大会,召集相关开发人员、测试人员、产品人员、运维人员讨论此
4、次部署事项(介绍项目的相应负责人员,数据库脚本执行,部署顺序,应用程序关联,部署时间点,部署回滚方案,包括数据库回滚和应用程序回滚),最后生成会议纪要并发送邮件。b) 确认上线之后,测试人员邮件上线方案,数据库脚本,应用分支号给运维人员及 DBA,DBA 应提前执行数据库脚本,应用部署须通过自动化部署平台进行部署,部署系统应在应用系统中记录当前分支号,以便后续应用回滚使用。在部署中出现错误,及时通知相关开发人员。如若问题不能在计划内时间解决,执行回滚方案。c) 运维,DBA 在操作完成时均需要回复邮件,并说明操作步骤结果。d) 发布完成后运维人员回复邮件通知测试人员、业务及需求人员进行线上测试
5、。测试结果及问题, 提交至开发人员。如若出现问题不能在计划内时间解决,执行回滚方案,并进行迭代改进。e) (紧急 Bug 修改走补丁/hotfix 流程。不影响功能的 bug 留到下次版本解决。 ) 。测试通过后测试人员回复邮件,发布结束。四、 应用服务监控a) 运维人员添加新增外部应用服务监控和新增云主机的系统监控b) 运维人员对相关业务保持上线后正式生产系统进行有计划地监控其服务的性能和可用性,及时发现问题处理及反馈问题。五、 总结报告a) 上线成功后,撰写或总结系统需求、架构以及开发文档进行备案。附:上线流程图系 统 上 线 部 署 发 布 流 程开 发 人 员 测 试 人 员 运 维
6、人 员开 发 环 境 调 试1、 BUG修 复提 交 测 试 申 请1、 上 线 方 案2、 其 他 上 线 文 档开 发 自 测邮 件 通 知 运 维1.上 线 方 案2.数 据 库 脚 本同 意 上 线部 署 上 线线 上 测 试有 无 系 统 BUG是 否 修 复上 线 完 成 、 持 续 监控执 行 一 般 修 复 流 程( 线 上 修 复 或 迭 代改 进 )执 行 回 滚确 认 测 试 版 本1、 内 容 无 误2、 无 明 显 BUG开 发 负 责 人 发 起 部署 大 会1.数 据 库 脚 本2.部 署 顺 序3.部 署 时 间4.回 滚 方 案5.项 目 相 关 负 责 人YYY是 否 为 严 重 bugYNN确 认 回 退发 布 上 线 公 告