标签:服务 定义 到底 部署 一包 环境 应用程序 编译 测试
1.一包到底就是将软件从源代码编译构建出一个部署包,在后续的流程中都统一使用这一个部署包。这样做的好处有以下两点。
①减少了编译时间:每次编译都需要花费时间,并且占用编译机的资源,如果代码库比较大重复编译将是一场灾难。
②保证部署包的一致性:因为在各个阶级进行测试的部署包都是同一个,这样可以保证部署到生产环境中的部署包与前面测试阶段验证过的部署包是完全一样的。
在之前的流水线中,每次生成部署包的同时也会生成一个 md5 值,并在后续每次部署时利用这个 md5 值对部署包进行验证。
每次构建出的部署包都需要存放到专门的制品库中,如 Jfrog Artifactory。这一步骤可以集成到持续集成流水线中,上传制品库时同时也会携带该部署包的属性,如:代码库、版本号、CommitId。
Jfrog Artifactory 支持对制品打标签,可以在后续的测试阶段将测试结果以标签的形式打到制品上,作为是否进阶到下一个阶段的判断条件。
2.相同的部署方式
使用相同的流水线、相同的部署方式部署任意一套环境,包括生产环境!
实际情况中,每套环境有很多不同之处,比如机器的 IP 会不同,操作系统和中间件的配置不同等。不同的环境信息并不意味着就要为每套环境都准备一套部署脚本,我们可以采用将部署脚本与配置信息分离的方法。
3.对部署冒烟测试
在应用程序部署完成后,应该有相应的脚本对应用程序进行冒烟测试,以确保应用程序启动并运行了。比如调用接口检查是否能正常返回。如果要检查依赖的服务,比如数据库和缓存服务等,可以调用从依赖服务获取数据的接口,结果可以是空,只要能确保连接是正常的即可。
冒烟测试又称为部署测试,它是环境部署完成并交付使用的有效验证方法。如果服务不可用,也能知道是什么原因导致的不可用:是服务本身还是依赖服务?这对排除应用程序无法正常运行问题也很有帮助。
标签:服务,
定义,
到底,
部署,
一包,
环境,
应用程序,
编译,
测试
From: https://www.cnblogs.com/muzinan110/p/16795923.html