今天国庆第一天,早上起来跑步完成今年的第2个半程马拉松,配速5'03'',总耗时1小时46分54秒,比上次的成绩整整提高了4分钟。
最近项目临近上线,再谈下系统上线和割接的一些关键点。
第一就是生产环境安装和部署手册 ,这里面实际是包括两个方面内容,一个是标准的数据库和应用中间件的安装,一个是应用程序的部署,服务的部署。对于数据库和中间件的安装和基础配置,数据库和应用中间件的参数调优等,往往应该提前就很早做完。而实际上线都是指的应用和服务部署。
对于应用和服务部署,最重要的就是基于持续集成的思路,应该是将UAT环境测试通过的部署包迁移到生产环境进行部署,整个部署包不再进行重新编译构建,而只是应该修改相关的配置文件和参数设置。这样可以确保部署到生产环境的应用和程序是测试环境测试通过的版本。
而实际我们在做项目的时候,往往在交维前各个环境都是我们自己管理和部署,不一定形成了很完整的文档,导致这个环境部署工作很随意,这也是导致后续生产环境部署后出现问题的一个原因。对于IT管理和治理比较规范的企业而言,往往有严格的版本发布和上线流程,即使是对于全新项目生产环境的上线也不能由乙方自己去操作,必须填写上线申请单,提供安装脚本和部署包,部署详细步骤说明,转由交付IT运维人员进行操作。在这种情况下往往上线过程会更加严谨受控。
第二就是数据初始化脚本 ,对于应用的数据初始化脚本实际上包括两个方面的内容,一个内容是应用本身的参数配置脚本,一个是涉及到应用的静态数据初始化和导入脚本。这两部分脚本都必须提前准备好,对于前者往往涉及到应用系统本身的元数据管理功能存储到数据库,也可能存储在应用服务器的操作系统,应用本身的配置文件中,都必须考虑到。而对于静态数据初始化脚本,往往需要提供相应的初始化 sql 脚本进行导入,而不是简单的提供Excel,这样才能够方便甲方的系统管理员进行批量导入。
对于数据初始化脚本,应该有完整的数据导入和校验逻辑,异常提升逻辑,以方面在数据初始化失败的时候查找问题。同时在数据导入后,最好再提供相应的数据验证脚本,对导入的数据的正确性进行验证和确认。而不是完全依靠人工的方式去核查和比对。
第三就是应用上线和部署完成后的检查单CheckList ,这个清单相当重要,一定不要相信自己的脑袋能够记住所有的检查项而没有遗漏,一个应用系统的上线涉及到数据库,中间件,应用程序,数据,接口,应用功能多方面的内容,要确保上线功能没有问题必须每个点都需要检查到位,因此必须要有详细的检查清单,按照清单进行逐一的检查才可以。
检查单就是起到这个作用,我们只需要提前想清楚所有的检查点,并给出具体的检查方法,然后在系统部署和上线完成后,按检查单里面的检查项进行逐一的检查就可以了。这样可以确保没有任何的遗漏。
最后就是上线完成后的人工验证 ,这个步骤也不能少,即我们的应用在上线完成后,往往会在生产环境部署完成的应用上进行一个初步的冒烟测试,确保所有功能都没有问题。在这个过程中可能会产生垃圾数据,可以在测试完成后进行清除。整个测试过程为了不影响到实际的组织和用户,我们也可以在系统里面单独建立一个临时组织和用户,用分配的临时用户进行相应的单据创建,流程审批,单据生效,接口和业务联通流转等方面的测试,确保整个端到端流程是完整的。
当然还有一种方法就是我们在生产环境正式部署和配置完成后,可以将生产环境的整个内容再完全克隆回UAT环境,在UAT环境进行相应的测试工作,这样可以确保生产环境不进垃圾数据,同时又确保生产环境的配置没有任何问题。在从生产环境克隆回来的时候,注意重点是克隆生产环境数据库和参数配置内容,而对于测试环境的一些参数配置项仍然需要保留测试环境的。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 网络工程中的割接是什么意思?
- 终于不再苦逼割接了,要灰度升级!
- 从零开始上线网站的日常(二)— 第一次上线
- Windows Server 2019下半年上线:首个预览版Build 17623上线
- Alice 上线小记
- 谈项目上线(9.21)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。