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

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

相关推荐
酣大智2 小时前
网络协议计时器 & 发包间隔汇总
运维·网络·tcp/ip
云运维笔记8 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
码农学院9 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi9 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事9 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
Doris__HE11 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
千里码aicood12 小时前
基于PLC的简易三轴工件搬运平台设计
自动化·plc
龙智DevSecOps解决方案13 小时前
JFrog供应链流量控制器架构解析:如何通过 SASE 集成阻断 AI 智能体的恶意依赖拉取?
ai编程·devops·jfrog·软件供应链安全
科技研学社14 小时前
自动化缝制升级:支撑产业海外转移,降低建厂用工门槛
人工智能·自动化
闲云野鹤在人间14 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算