当前位置: 首页 > news >正文

01什么是DevOps

在日常开发中,运维人员主要负责跟生产环境打交道,开发和测试,不去操作生产环境的内容,生产环境由运维人员操作,这里面包含了环境的搭建、系统监控、故障的转移,还有软件的维护等内容。

当一个项目开发完毕,在开发环境正常运行,交给运维人员,可能就会出现一些莫名其妙的,意料之外的问题,这本质上是因为开发和运维在发布的产品上不一致,开发和运维对环境的理解也不一样,所以就会出现在开发环境可以运行的程序,到了生产环境就不一定好使了。

为了打破这道壁垒,使开发环境的程序可以不出差错的迁移到生产环境,不需要做任何的变化,这便是DevOps要做的事情。

DevOps是一种方法论,是开发(DeveLopment)和运维(Operations)的一种组合,是一组过程、方法与系统的统称,用户存进应用开发、应用运维和质量保障(QA)部门之间沟通、协作与整合,打破传统开发和运维之间的壁垒和鸿沟。

DevOps的核心是CI/CD

CI/CD是一种通过将自动化引入应用程序开发阶段来频繁向客户交付应用程序的方法。CI/CD的主要概念是持续集成、持续交付和持续部署。

CI指持续集成,它是开发人员的自动化过程。成功的CI意味着对应用程序的新代码更改会定期构建、测试并合同到共享存储库。这是解决同时开发的应用程序有太多分支可能相互冲突的问题的解决方案。

CD指持续交付,在CI中构建和单元测试和集成测试自动化之后,持续交付会自动将经过验证的代码发布到存储库。持续交付的目标是拥有一个始终准备好部署到生产环境的代码库。在持续交付中,从代码合并更改到交付生产就绪版本的每个阶段都涉及测试自动化和代码发布自动化。在该过程结束时,运维团队能够快速轻松地将应用程序部署到生产环境。

CD还指持续部署,成熟的CI/CD管道的最后阶段是持续部署。它可以自动将生产就绪的构建发布到代码存储库,持续部署可以自动将应用程序发布到生产环境。

DevOps是整体设计,CI/CD是具体的步骤。

具体的技术落地,有Gitlab(代码仓库,自带CI/CD的流水线),Jenkins(自动化工具集,从应用的部署、编译、发布),HELM(应用包的管理工具,可以管理发布的脚本)

现有的这种自动化平台产品,比如:阿里云的云效产品等。

相关文章:

  • JVM组成
  • 学习总结三十三
  • 如果需要保护多个域名怎么办?
  • 基于C++实现的(控制台)植物大战僵尸游戏(高级程序设计)
  • 大预言模型|微调大预言模型初探索(LLaMA-Factory)(1)
  • Centos7安装Clickhouse单节点部署
  • 深度整理总结MySQL——Expalin指南(一)
  • 域森林基础及环境搭建
  • 美颜SDK技术深度解析:从滤镜算法到实时渲染优化
  • qt 事件的传递顺序
  • python学opencv|读取图像(六十六)使用cv2.minEnclosingCircle函数实现图像轮廓圆形标注
  • 《战神:诸神黄昏》游戏闪退后提示弹窗“d3dx9_43.dll缺失”“找不到d3dx11_43.d”该怎么处理?
  • Visual Studio Code支持WSL,直接修改linux/ubuntu中的文件
  • git 沙盒 下(二)
  • kong插件详解之Basic Authentication
  • uni-app 学习(一)
  • 算法兵法全略(译文)
  • 图的表示:邻接表和邻接矩阵
  • android launcher拖动图标释放错位
  • 群体智能优化:粒子群算法(PSO)详解与实战
  • 国台办:实现祖国完全统一是大势所趋、大义所在、民心所向
  • 观察|“双雄”格局下电池制造商如何生存:加码不同技术、抢滩新赛道
  • 2025上海科技节本周六启幕,机器人和科学家同走AI科学红毯
  • 生态环境保护督察工作条例对督察对象和内容作了哪些规定?有关负责人答问
  • 撤制镇如何突破困境?欢迎订阅《澎湃城市报告》第23期
  • 阶跃星辰CEO姜大昕:追求智能上限仍是最重要的事,多模态的“GPT-4时刻”尚未到来