敏捷开发的基础上更加快速的上线。
下图的循环可以一直跑下去。

- plan:开发团队根据客户目标制定开发计划;
- code:根据plan开始编码过程;
- build:编码完成后,需要将代码进行构建测试;
- test:成功构建后,需要测试代码是否存在BUG;
- deploy:代码经过手动测试和自动化测试后,认定代码已准备好部署并且交给运维;
- oprate:运维将代码部署在生产环境中;
- monitor:项目部署上线后,需要维持监控;
- release:然后将监控阶段收到的反馈发送会plan阶段。整体反馈的流程就是devops核心。
CI/CD
持续集成 CI
持续集成是将每次写的部分新代码分支合到原有代码主干上的做法。合到主干上可以立即构建并进行测试。
持续交付
在持续集成的基础上,将每次单元测试好的代码可以很好的部署在贴近真实的运行环境中(制作镜像)。保证软件可以持续、稳定的保持在可发布状态。之后可以进行手动部署。
持续部署 CD
在持续交付的基础上,把部署环境自动化。
devops涉及的工具
- git or svn :将代码上传到代码仓库(gitee/github/gitleb);
- maven or gradle:代码构建工具;
- jacoco or OpenCppCoverage等:开源代码覆盖工具;
- docker:在容器内进行部署;
- k8s:编排容器中的部署;
- Jenkins:用来监控整个项目的构建、测试、部署流程;
- sonarQube:代码扫描工具;
部分后续增加~