CI/CD概述

  持续集成(Continuous Integration)是一种软件开发实践,在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括静态扫描、安全扫描、自动测试等过程)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。
                                                             ——Martin Fowler

  持续交付是指频繁地将软件的新版本交付给质量团队或者用户,以供评审,如果评审通过,代码就进入生产阶段。
  持续部署是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境中。

编码
构建
集成
测试
交付
部署

  通过自动化的持续集成,把管理流程固化;保证集成的有序性、可靠性;减少版本发布的不合规性(开发或者测试手动打包,可能一天打多个包,更新多次,测试不充分),保证版本可控,问题可追溯。持续集成工具中Jenkins使用最为广泛。

大规模CI/CD容易出现的问题:

  • 更新问题
  • 部署包(jar包、war包、ear包等)的管理问题
  • 版本安全性
  • 主机管理问题
  • 端口管理问题
  • 负载均衡管理问题
  • 服务伸缩问题
  • IP管理问题

  虚拟化、云平台化为大规模部署提供了方便,以Docker为代表的容器化技术出现后,云变得更灵活,容器化已成为大潮。

  Docker容器技术让应用一次构建,到处(物理机、虚拟机、公有云、私有云、Windows系统、Linux系统等)可运行,加快了本地开发和构建,实现了快速交付和部署;同时还可以在操作系统层面提供资源隔离服务。

  支持Docker容器管理的工具使用得比较广泛的有Swarm、Mesos、Kubernetes、Rancher等工具,其中Kubernetes影响最大,但学习与运维成本相对较高,目前主要是国内大型互联网公司在用,包括BAT、京东等企业,腾讯的蓝鲸(DevOps)也基于Kubernetes,已经开始市场化。

代码版本管理工具GitLab

  GitLab是基于Ruby On Rails开发的Git项目仓库,类似于GitHub,但是相比较而言,它支持在自己的内网服务器上搭建配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值