对于很多公司而言,在使用容器云平台之前,都有自己的一套基于虚拟机的devops流水线平台,那么在使用容器云平台以后,如何在devops流水线平台上同时兼容基于容器和虚拟机的devops流程?
收起我理解这里主要的差异在构建节点和工具层面,对于流水线过程来说,只是在部署环节的实现不同。也就是整条流水线的其中一个stage的实现不同,对流水线过程来说不一定存在差异。部署过程流水线提供的是发布到虚拟机和容器云平台的能力,比如我们在虚拟机的部署方面是通过ansible来进行的,容器云平台的部署则是通过Kubectl命令行工具管理Kubernetes集群。应用部署逻辑则是由项目团队提供playbook或yaml文件,设置环境信息:对于虚拟机来说是ip,对于容器来说是namespace。也就是平台提供两种部署方式的能力,项目团队只需要关注自己需要哪种部署方式,以及流水线在什么时间需要执行部署任务。在后续的建设中我们计划通过统一的发布平台来提供应用部署到虚拟机和容器云平台的支持,流水线基于统一的发布平台完成部署过程,进一步减小用户对两种部署方式差异的感知。