持续集成的工作流程
1.开发人员在本地工作空间提交代码到代码仓库;
2.版本控制系统通过 WebHook 等机制实时通知持续集成服务器;
3.持续集成服务器克隆最新的代码和构建脚本到服务器本地,或者专用的服务器;
4,在持续集成服务器或专用服务器上执行构建脚本,对最新的代码进行检查,包括编译构建、代码动静态扫描、单元测试以及部署到测试环境运行功能测试等;
5.运行结束后,自动生成执行结果报告;
6.将执行结果通过邮件等方式通知给开发人员。
部署流水线主要包含下面几个阶段:
1.提交阶段,代码提交后会运行代码编译、自动化单元测试以及对代码进行动静态扫描;
2.自动化测试阶段,主要是从功能性和非功能性方面验证系统是否可用,并且满足用户需求;
3.手工测试阶段,主要是用户验收测试,用于验证系统是否为用户提供了价值;
4.软件发布阶段,将软件交付给用户,交付方式有多种,可以是独立部署的方式,也可以是 SaaS 服务的方式。
实现部署流水线
1.起点是开发人员将代码提交到版本控制系统中,终点是将软件部署到生产环境交付给用户。
2.版本控制系统和制品库是源代码和制品的单一可信数据源。
3.制品库中的部署包只能通过版本控制系统中的源代码编译构建产出,并上传到制品库。后面测试环境和生产环境需要的部署包都来自同一个制品库,保证了部署包的唯一性。
4.测试环境和生产环境都是通过部署平台统一部署,测试环境可以由测试人员自服务部署,生产环境可以由运维人员一键部署。
5.不管是测试环境还是生产环境,当软件部署完成后,通过冒烟测试验证服务是否正常启动。
6.自动化部署平台提供一键部署的功能。用户只需要选择在哪个环境、使用哪个软件版本,采用什么样的部署策略即可。