DevOps可持续交付

 

随着服务软件复杂度的增加,手动部署上线越来越无法满足快速的交付的需求,而且容易发生人为操作失误,造成无法估量的损失。由此,DevOps应运而生。DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合,是可持续交付的体系保障。

魔方云打通了从代码提交,自动测试,自动构建镜像,自动部署镜像的全栈DevOps流程,高效替代业内部署复杂、迭代缓慢的传统方式,实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化。

 

运维痛点

传统的 Jenkins 集群一主多从的方式存在一些痛点:

  • Master 一旦发生单点故障,那么整个 CI/CD 流水线就崩溃了;
  • 资源分配不均衡,有的 Slave 要运行的 job 出现排队等待,而有的 Slave 处于空闲状态,无法有效利用;
  • 不同 Slave 的配置环境可能不一样,需要完成不同语言的编译打包,这类差异化进一步导致管理不便

魔方云容器对策

魔方云通过容器化流水线实现了容灾、调度和隔离

    • 当 Jenkins Master 出现故障时,自动创建一个新的 Jenkins Master 容器,并且将 Volume 分配给新创建的容器,保证数据不丢失,从而达到集群服务高可用;
    • 魔方云DevOps是基于底层 Kubernetes 的Slave,具有动态伸缩的能力,能够根据任务的执行状态进行动态创建或自动释放资源。可以在流水线高并发时快速满足资源要求,在闲置时释放资源到其他服务中;
    • 每条流水线根据业务的技术栈,使用不同的镜像和编译命令,各自运行在互相隔离的容器环境中,使得管理差异化的配置清晰便利,同时也可以复用一套集群

 

魔方云DevOps技术框架

魔方云块devops通过集成Jenkins, docker registry等组件实现自动化部署,不仅支持gitlab/github/bitbucket等多种代码仓库,也支持java, python, go等所有主流的开发语言

当开发人员已提交代码,即自动触发流水线去编译代码,构建镜像,以及把镜像推到魔方云/阿里云镜像仓库,并部署服务到制定的项目甚至多个集群,发布到应用商店……不需要繁琐易错的手工操作,只需要界面上查看状态和日志,等待流水线完成

魔方云DevOps还可以做到高并发执行多条流水线,并自定义是否利用缓存加速,实现真正敏捷、高效的DevOps

 

魔方云DevOps技术优势

  • 多种流水线配置方式

yaml的方式方便自动化配置和更新,图形界面(右图)则适合人为操作;无论是否了解yaml,都可以快速上手,配置一条业务所需的流水线

  • 自定义缓存加速

在敏捷开发中,小步快跑地迭代要求开发人员频繁提交代码增量;有效利用源码编译和镜像构建的缓存,可以极大地提高流水线的执行效率,加速2~6倍。遇到特殊情况,也可以关闭某条流水线或某个步骤的缓存

  • 支持多种webhook触发流水线

魔方云不仅支持代码提交触发流水线,同时支持镜像仓库触发,包括DockerHub仓库,Harbor仓库和阿里云仓库,灵活满足不同的业务场景

  • 微信交流群
  • 售后支持邮箱