网站首页 > 精选教程 正文
快速了解:DevOps、CI、CD的关系
CI、CD是实现DevOps的方法。
DevOps是Development和Operations的组合
DevOps是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟。
DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。具体来说,就是在软件交付和部署过程中提高沟通与协作的效率,旨在更快、更可靠的的发布更高质量的产品。
也就是说DevOps是一组过程和方法的统称,并不指代某一特定的软件工具或软件工具组合。各种工具软件或软件组合可以实现DevOps的概念方法。其本质是一整套的方法论,而不是指某种或某些工具集合,与软件开发中设计到的OOP、AOP、IOC(或DI)等类似,是一种理论或过程或方法的抽象或代称。
CI的英文名称是Continuous Integration(持续集成)
持续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试(自动化测试)的过程,从而确定新代码和原有代码能否正确地集成在一起。
CD分为Continuous Delivery(持续交付)和Continuous Deployment(持续部署)。
Continuous Delivery(持续交付)
持续交付的目标是拥有一个可随时部署到生产环境的代码库。
完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。
在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中或发布给最终使用的用户。
Continuous Deployment(持续部署)
作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。
实现DevOps需要什么哪些工具集合?
如下列举了常用的实现DevOps的工具,在实际的生产过程中通常只会使用其中的一部分产品,红色标记的部分是我们在实际开发、部署中使用较多的产品。
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
自动部署:Capistrano、CodeDeploy
持续集成(CI):Bamboo、Hudson、Jenkins
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
容器:Docker、LXC、第三方厂商如AWS
编排:Kubernetes、Core、Apache Mesos、DC/OS
服务注册与发现:Zookeeper、etcd、Consul
脚本语言:python、ruby、shell
日志管理:ELK、Logentries
系统监控:Datadog、Graphite、Icinga、Nagios
性能监控:AppDynamics、New Relic、Splunk
压力测试:JMeter、Blaze Meter
预警:PagerDuty、pingdom、厂商自带如AWS SNS
HTTP加速器:Varnish
消息总线:ActiveMQ、SQS
应用服务器:Tomcat、JBoss
Web服务器:Apache、Nginx、IIS
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
构建工具:Ant、Gradle、maven
最后给一个完整的Agile、CI/CD、DevOPS的
实际的落地pipline,标准化的实际CICD标准流程图
- 上一篇: 从URL输入到页面展现到底发生什么?
- 下一篇: 软件测试/测试开发丨Web端测试基础知识 学习笔记
猜你喜欢
- 2024-10-08 来呀快活呀!渗透测试基本流程之前渗透
- 2024-10-08 B2C商城系统 PC端+H5移动端 b2c商城模式
- 2024-10-08 水果蔬菜果蔬网站模板(易优cms内核)
- 2024-10-08 HTTP_从URL输入到页面展现到底发生什么?
- 2024-10-08 前端基础:老生常谈的从 URL 输入到页面展现背后发生的事
- 2024-10-08 运维工程师必会技能 运维工程师需要学什么知识
- 2024-10-08 田园农家乐主题网站,色彩非常漂亮
- 2024-10-08 从URL输入到页面展现到底发生什么
- 2024-10-08 老生常谈-从URL输入到页面展现到底发生什么?
- 2024-10-08 .NET 5 平台下企业应用开发框架 现在.net开发都用什么框架
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)