devops平台落地及演进之路(三)

105 阅读2分钟

旧项目的构建部署过程中,用的是jenkins,使用过程中,只涉及到git拉取代码,maven进行构建打包,docker打镜像,并通过helm将镜像部署到k8s集群,不过过程中存在几个问题

问题

  1. 构建部署过程中,只能通过日志查看当前走到哪个步骤,过程不直观
  2. 上面涉及的过程,只是最简单的CICD过程,如果要加入其他的功能,比如代码扫描,单元测试,自动化测试,则需要对脚本进行改造,对运维侧能力要求较高
  3. 如果使用jenkins pipeline,还是避免不了无法动态编排的痛点,要进行编排只能修改pipeline脚本
  4. 针对各团队,各环境的构建部署频率各不相同,高峰时期,容易因为cpu跑满而对构建部署效率造成影响,此时只能让运维人员重新搭建新的jenkins集群

devops2.1

引入流水线图形化编排工具(建木) 调研过其他的流水线图形化编排工具(类似KubeSphere),感觉改造起来太过复杂,其本身也太重,只能放弃~

架构图 未命名文件 (1).jpg

  1. 根据不同类型的应用,不同的操作录入具体的流水线模板(比如be-dev-cicd-application,代表后端微服务应用的构建部署流水线模板)
  2. 服务列表,选择具体的模板,创建对应的流水线(比如be-dev-cicd-application-user-manager,代表后端微服务用户管理应用的构建部署流水线)
  3. 迭代管理(devops平台落地及演进之路(二))中,根据选择的服务,触发流水线
  4. 后续如果要对流水线进行扩展,只需要对流水线上,加入具体的节点即可

微信图片_20230716234031.png

后续规划

  1. 暂时还无法根据机器的资源,动态的分配任务,后续将针对worker服务进行改造,上报资源情况,并为调度服务提供任务分配的元数据支持
  2. 当前部分组件,还无法根据实际需求进行向下兼容,比如文件上传节点(当前只支持cos,如果要兼容oss,还需要进行改造优化)
  3. 当前支持的组件还有限,后续还可以继续扩展,并根据业务类型划分