JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

通俗易懂的一分钟让你快速了解DevOps和CICD的关系

wys521 2024-10-08 11:58:05 精选教程 36 ℃ 0 评论

快速了解: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):GitHubGitLab、BitBucket、SubVersion

自动部署:Capistrano、CodeDeploy

持续集成(CI):Bamboo、Hudson、Jenkins

配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail

容器:Docker、LXC、第三方厂商如AWS

编排:Kubernetes、Core、Apache Mesos、DC/OS

服务注册与发现:Zookeeperetcd、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、mongoDBredis等NoSQL数据库

构建工具:Ant、Gradle、maven

最后给一个完整的Agile、CI/CD、DevOPS的

实际的落地pipline,标准化的实际CICD标准流程图

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表