请详细区分下S2I的持续集成与传统集成,云平台基础上的Git Ops的一些区别及优势。
收起CI构建
Jenkins集群在CI流程中调用Maven执行构建,Maven通过插件按指定的Dockerfile生成应用的容器镜像。
●常规CI方案
●每个开发团队均需要编写Dockerfile
●微服务多语言多版本混合构建时无隔离
●构建资源池不可动态扩展
●资源利用率较低
S2I
OpenShift在隔离的容器环境中进行应用的构建编译并生成应用的容器镜像。
●基于容器集群的CI方案
●开发团队通过容器镜像精确定义构建环境
●基于容器的构建环境,提供更好的隔离性
●满足多语言多版本微服务混合构建的场景
●构建资源池可动态扩展,更灵活
●构建与应用运行共享资源池,介绍运维工作量
●资源按需投入及回收,利用率较高
GitOps 的核心思想是 CI/CD 从 git 发起,因此对开发人员更友好。但 GitOps 的实现,例如通过 ArgoCD , ArgoCD 在 CICD 过程中需要借助 Jenkins 和 S2I 这样的工具来实现。