1、开发人员从公司gitlab版本控制平台代码库develop开发分支拉取当前分支最新代码至本地;
2、开发人员根据项目需求增加最新需求功能实现代码至代码库,再进行本地编译测试;
3、开发人员将测试完成的代码推送至gitlab版本控制平台自动构建、编译打包。并打上测试tag镜像并推送Docker私库;
4、运维人员从gitlab运维部署deploy分支拉取部署文件,根据最新功能需求调整测试环境K8S部署文件:configmap.yaml、deployment.yaml、
service.yaml,定义最新的测试服务镜像至部署文件,并推送gitlab平台;
5、运维人员在K8S集群测试平台拉取最新服务测试部署文件,通过命令:
kubectl apply -f configmap.yaml -n diiing
kubectl apply -f deployment.yaml -n diiing
kubectl apply -f service.yaml -n diiing
部署最新测试镜像至K8S集群测试环境,完成升级。
6、开发与运维人员共同关注K8S测试环境新升级服务运行状态与日志,再进行模拟用户访问测试;
7、确认测试无误后再通过gitlab平台将develop分支最新代码合并至正式环境master分支,再通过gitlab版本控制平台自动构建、编译打包。并打上正式tag镜像并推送Docker私库;
8、运维人员将运维deploy分支最新文件合并至正式运维master分支,根据正式环境需求调整K8S部署文件:configmap.yaml、deployment.yaml、service.yaml,定义最新正式服务镜像至部署文件,并推送gitlab平台;
9、运维人员在正式生产环境拉取最新运维master分支的正式部署文件部署至生产环境,进行灰度测试,逐渐调整老服务与新服务负载均衡比例,逐渐淘汰老服务,应用最新服务。