基于Kubernetes集群构建大中型企业CICD应用平台(1)-- devOps

news2024/11/24 2:02:57

一、DevOps介绍

软件开发最开始是由两个团队组成:

  • 开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。

  • 运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。

这看似两个目标不同的团队需要协同完成一个软件的开发。

在开发团队指定好计划并完成coding后,需要提供到运维团队。

运维团队向开发团队反馈需要修复的BUG以及一些需要返工的任务。

这时开发团队需要经常等待运维团队的反馈。这无疑延长了事件并推迟了整个软件开发的周期。

会有一种方式,在开发团队等待的时候,让开发团队转移到下一个项目中。等待运维团队为之前的代码提供反馈。

可是这样就意味着一个完整的项目需要一个更长的周期才可以开发出最终代码。


基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。

那么如果让开发团队和运维团队整合到成一个团队,协同应对一套软件呢?这就被称为DevOps。

DevOps,字面意思是Development &Operations的缩写,也就是开发&运维。

虽然字面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。

网上可以查看到DevOps的符号类似于一个无穷大的符号

DevO

这表明DevOps是一个不断提高效率并且持续不断工作的过程

DevOps的方式可以让公司能够更快地应对更新和市场发展变化,开发可以快速交付,部署也更加稳定。

核心就在于简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。

整体的软件开发流程包括:

  • PLAN:开发团队根据客户的目标制定开发计划

  • CODE:根据PLAN开始编码过程,需要将不同版本的代码存储在一个库中。

  • BUILD:编码完成后,需要将代码构建并且运行。

  • TEST:成功构建项目后,需要测试代码是否存在BUG或错误。

  • DEPLOY:代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给运维团队。

  • OPERATE:运维团队将代码部署到生产环境中。

  • MONITOR:项目部署上线后,需要持续的监控产品。

  • INTEGRATE:然后将监控阶段收到的反馈发送回PLAN阶段,整体反复的流程就是DevOps的核心,即持续集成、持续部署。

为了保证整体流程可以高效的完成,各个阶段都有比较常见的工具,如下图:

软件开发过程&涉及工具

最终可以给DevOps下一个定义:DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。

自动化的工具协作和沟通来完成软件的生命周期管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【游戏逆向】《创世战车》玩家遍历分析

对于这种FPS游戏来说,玩家的血量并不是很关键,不过想分析玩家对象内的其他信息,还是要从血量作为突破口的。 但是由于试驾场是很少有发包的,包括战车的攻击等等,所以只能通过正常匹配战斗进行扫描。又由于匹配模式中没…

局域网会议软件

局域网会议软件怎么选?连通宝视频会议系统,当然也可以从以下维度进行视频会议选择。 1、部署简单方便连通宝视频会议系统部署简单,五分钟部署专业级的视频会议系统,系统支持主流视频会议设备,支持桌面型会议、机顶盒型…

字节面试挂在2面,复盘总结了经验,决定再战一次.....

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了&#xf…

算法修炼之练气篇——练气十一层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

【2023 阿里云云计算工程师 ACP 认证练习题库】01、VPC 专有网络题库

目录 一、多选题 1 1 答案与解析 2 2 答案与解析 3 ​3 答案与解析 辑 4 4 答案与解析 5 5 答案与解析 6 ​6 答案与解析 7 7 答案与解析 8 ​8 答案与解析 9 ​9 答案与解析 10 ​10 答案与解析 11 ​11 答案与解析 12 ​12 答案与解析 13 ​13…

HTB靶机011-Node-WP

11-Node 10.10.10.58 1、PortScan 上来端口扫描,masscan扫全端口,nmap快速扫前100端口 ┌──(xavier㉿kali)-[~] └─$ sudo masscan 10.10.10.58 -p1-65535 -e tun0 --max-rate 500┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 -F 10.10.10.…

需求、测试用例、BUG、软件的生命周期开发模型(瀑布、螺旋、增量迭代、敏捷)和测试模型(V模型和W模型)【详细介绍】

本篇文章将详细介绍测试中的相关概念(需求、BUG、测试用例)以及常见的开发模型和测试模型。 目录 一、需求 1.需求的定义 2.需求的产生 3.测试人员眼中的需求 练习:将“删除微信聊天记录功能是否正常”的需求拆分成子需求(测…

Google I/O 2023 - Flutter 3.10 发布

核心部分原文链接:https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73 Flutter 3.10 主要包括有对 Web、mobile、graphics、安全性等方面的相关改进,核心其实就是: iOS 默认使用了 Impeller 一堆新的 Material 3 控件袭来…

Redis(9)分布式锁(2)

主从复制主节点宕机导致锁失效问题 主节点会不断的把自己的数据传递给从节点,来保证主节点的数据和从节点的数据是相等的, 毕竟不是在同一台机器,主和从之间会存在一定的延时,主从同步也会存在一定的延时 1)现在有一个线程1来进行…

人工智能引发了科学研究的革命

人工智能引发了科学研究的革命 科学研究从第一,第二范式,升级到第三范式 趣讲大白话:人工智能成精了 【趣讲信息科技162期】 **************************** 国内顶尖的AI专家陆奇总结 科学研究的五个范式 1、经验主义(比如中医&am…

Windows10安装二进制Mysql-5.7.41

1.创建my.ini [mysqld] ##skip-grant-tables1 port 3306 basedirD:/webStudy/mysql-5.7.41 datadirE:/adata/mysqlData max_connections200 character-set-serverutf8 default-storage-engineINNODB sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-char…

软件测试面试题【2023最新合集】

收集了各大公司的面试经验,现整理出来,希望能给正在找工作的志同道合的小伙伴一些指引,本文会持续更新的哦。 1、 CPU 和 GPU的区别 一个是通用计算,一个是专用计算。 CPU主要负责操作系统和应用程序,GPU主要负责…

LDAP配置与安装

LDAP配置与安装 一、安装LDAP1、安装OpenLDAP及相关依赖包2、查看OpenLDAP版本3、配置OpenLDAP数据库4、设置OpenLDAP的管理员密码5、修改配置文件5.1. 修改{2}hdb.ldif文件5.2. 修改{1}monitor.ldif文件5.3. 修改{-1}frontend.ldif文件 6、验证LDAP的基本配置7、修改LDAP文件权…

python-39-异步aiohttp爬取数据

Python分别用单线程,多线程,异步协程爬取一部小说,最快仅需要5s Python异步爬虫之协程抓取妹子图片(aiohttp、aiofiles) Python爬虫——教你异步爬虫二十秒爬完两百多万字六百多章的小说 python爬虫-异步爬虫 用python批量把小说编号由大写数…

RVO的寻路障碍物改进

先说下原理&#xff1a;RVO的障碍识别是通过链接的坐标点数组围成的区域&#xff0c;收尾相接形成的。 namespace RVO { /** * <summary>Defines static obstacles in the simulation.</summary> * 障碍区的点坐标数据结构&#xff0c;是个双向链表结构 *通过Sim…

【Java】认识String类

【Java】认识String类 1. String类的重要性2. 常用方法2.1 字符串构造求字符串长度2.2 String对象的比较2.3 字符串查找2.4 转化2.5 字符串替换2.6 字符串截取2.7 字符串拆分2.8 其他操作方法2.8.1 String trim()2.8.2 String toUpperCase()2.8.3 String.format&#xff08;&am…

在C#WinForm中调用julia函数及在C#中传递参数到julia函数的使用示例

特别声明&#xff1a;未经允许&#xff0c;请勿转载&#xff01; https://discourse.juliacn.com/t/topic/7189https://discourse.juliacn.com/t/topic/7189我在julia中国社区已提交了文章的最后部分未解决问题&#xff0c;大家后续可以在该链接中跟踪问题的回答进度。 好几…

Neck网络 FPN + PAN 改进解读

呃 这篇文章的目的在于补充一些知识以便于理解Neck部分的网络 特征提取网络 与 目标检测之间的关系 一个特征提取网络&#xff0c;假设有1000层&#xff0c;开始的特征图包含的细节信息就很多&#xff0c;而随着网络的加深&#xff0c;特征提取网络经过多次被卷积和池化操作&…

让你的SQL变得更简洁:学会ChatGPT活用技巧,轻松实现SQL格式化

文章目录 前言让你的SQL变得更简洁&#xff01;学会ChatGPT活用技巧&#xff0c;轻松实现SQL格式化ChatGPT格式化SQL效果讯飞星火认知大模型格式化SQL效果文心一言格式化SQL效果格式化SQL效果结果比较 总结 【免责声明】文章仅供学习交流&#xff0c;观点代表个人&#xff0c;与…

Vue--》如何在Vue3中书写TSX

在vue2的时候就已经可以使用 jsx 语法&#xff0c;但是不是很友好&#xff0c;写起来是一件很痛苦的事情&#xff0c;所以你很少见到有人会在vue2中书写 jsx 语法&#xff0c;官方也不建议我们在vue2中进行书写 jsx 的代码风格&#xff1a; 但随着vue3版本的到来&#xff0c;对…