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(应用包的管理工具,可以管理发布的脚本)

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

相关推荐
上海蓝色星球19 小时前
迈向智慧电网新纪元:上海蓝色星球数字孪生变电主子站系统
运维·数据库
logic_521 小时前
静态路由配置
运维·服务器·网络
zhuzewennamoamtf21 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
门思科技21 小时前
企业级 LoRaWAN 网关远程运维方案对比:VPN 与 NPS FRP 的技术与安全差异分析
运维·网络·安全
云和数据.ChenGuang21 小时前
Deepseek 持续迭代的模型
运维·运维技术·数据库运维工程师·运维教程
物联网软硬件开发-轨物科技1 天前
【轨物方案】聚焦锯床设备智能化升级,打造工业互联网新范式
运维·科技·物联网
suzhou_speeder1 天前
企业数字化网络稳定运行与智能化管理解决方案
运维·服务器·网络·交换机·poe·poe交换机
weixin_307779131 天前
Jenkins Pipeline 完全指南:核心概念、使用详解与最佳实践
开发语言·ci/cd·自动化·jenkins·etl
RisunJan1 天前
Linux命令-grpck命令(验证和修复组配置文件(`/etc/group` 和 `/etc/gshadow`)完整性的工具)
linux·运维·服务器
Evan芙1 天前
nginx日志管理及日志格式定制
运维·nginx