什么是DevOps

图片

可以通俗的理解为 开发人员 测试人员 运维人员的交界处

利用工具进行程序的快速迭代,自动化的部署

CICD又是什么

图片

简单来说就是 持续集成 持续部署

连续不间断的执行

接下来引用一段官方的话语

1、持续集成(Continuous Integration) 持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现 其中的错 误。“持续集成”源自于极限编程(XP),是 XP 最初的 12 种实践之一。 CI 需要具备这些: 全面的自动化测试。这是实践持续集成&持续部署的基础,同时,选择合适的 自动化测试工具也极 其重要; 灵活的基础设施。容器,虚拟机的存在让开发人员和 QA 人员不必再大费周 折; 版本控制工具。如 Git,CVS,SVN 等; 自动化的构建和软件发布流程的工具,如 Jenkins,flow.ci; 反馈机制。如构建/测试的失败,可以快速地反馈到相关负责人,以尽快解决达到一个更稳定的版 本。

2、持续交付(Continuous Delivery) 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」 (production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立 在高水平自 动化持续集成之上。 灰度发布。 持续交付和持续集成的优点非常相似: 快速发布。能够应对业务需求,并更快地实现软件价值。 编码->测试->上线->交付的频繁迭代周期缩短,同时获得迅速反馈; 高质量的软件发布标准。整个交付过程标准化、可重复、可靠, 整个交付过程进度可视化,方便团队人员了解项目成熟度; 更先进的团队协作方式。从需求分析、产品的用户体验到交互 设计、开发、测试、运维等角色密 切协作,相比于传统的瀑布式软件团队,更少浪费。

3、持续部署(Continuous Deployment) 持续部署是指当交付的代码通过评审之后,自动部署到生产环境中。持续部署是持续交付的最高阶段。 这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境。它也可以被称 为“Continuous Release”。

最佳实战图中

图片

分为了内循环和外循环

内循环:

编码 测试 运行 debug 提交

代码推送到git

进行CICD

外循环:

运行时监控

生产环境的管理

进行重新反馈

最后返回内循环

这样就是CICD的完美最佳实践

最后我们贴一张CICD的蓝图,来展示对应的全貌

图片

发表评论

邮箱地址不会被公开。 必填项已用*标注