前端持续集成与部署方案-思路(二)

1,171 阅读2分钟

书接上文

3.流程设计

结合当前Gitflow流程,在项目开发与发布过程中,通过Git事件来触发不同的集成与部署过程,主要包括以下几个时间节点:

时间节点触发过程
1.其他分支merge到develop分支2.develop分支有新提交项目构建 > 测试(代码质量增量扫描、单元测试等)>dev环境集成部署
1.develop分支或其他分支merge到test分支2.test分支有新提交项目构建 > 测试(代码质量扫描、单元测试等) > test(stage)环境集成部署 > 性能测试
master分支打tag项目构建 > 应用打包 > 推送文件或项目构建 > 镜像制作 > 推送镜像
运维发布拉取文件 > prod环境部署

环境隔离

对于develop、test多版本并行的情况下,可通过临时分支之后的版本号做隔离

a)本地开发

对于需要在特殊环境进行调试的应用,可利用开发将应用运行在本地VM或远程Kubernetes集群进行测试

开发工具:

名称系统要求支持操作本地最小安装远程最小安装
Draftosx,linux,windows构建,部署draft,minikubeKubernetes,Helm
Skaffoldosx,linux,windows构建,部署(实时)skaffold,kubectl,minikubeKubernetes
Squashosx,linux,windowsdebugsquashctl,ide插件,minikubeKubernetes
Telepresenceosx,linux连接容器telepresence,kubectl,minikubeKubernetes
DevSpaceosx,linux,windows构建,部署,热加载,连接容器devspace,minikubeKubernetes

b)开发环境集成

c)测试环境集成

d)打包(tags)

应用打包

当前项目还存在原生部署方式,所以需要在构建后将可执行文件打包存

储到中转文件服务中

镜像制作

对于已完成容器化改造,在项目构建后可直接制作镜像以便后续部署

e)预生产/生产环境部署

四、后续扩展

  1. 内部kubernetes搭建
  2. 分布式可伸缩Runner定制与搭建
  3. 原生部署、容器化部署的流程梳理和开发
  4. 多语言构建镜像定制
  5. 项目容器化部署改造