DevOps,CI,CD,自动化简述

 更新时间:2021年07月26日 09:14:58   作者:追逐时光者  
这篇文章主要介绍了DevOps,CI,CD,自动化简单介绍,通过本文给大家简单介绍DevOps,CI,CD,自动化这四者的基本概念,需要的朋友可以参考下

前言:

  随着企业应用的不断迭代,不断扩大,应用的发布发布可能涉及多个团队,如pc端,手机端,小程序端等等。应用发布也就成为了一项高风险,高压力的超过过程,以及应用的开发迭代的沟通,测试成本也大大的变得不可控了。这时候就出现了DevOps管理理念,CI,CD以及强大的部署自动化手段确保部署任务的可重复性、减少部署出错的可能性。下面简单的描述一下这四者的基本概念。

DevOps

什么是DevOps?

  DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

可以把DevOps看作开发、技术运营和质量保障(QA)三者的交集。

DevOps好处?  DevOps 使以前孤立的角色(开发、IT 运营、质量工程和安全)可以协调和协作,以生产更好、更可靠的产品。通过采用 DevOps 文化、做法和工具,团队能够更好地响应客户需求,增强对所构建应用程序的信心,更快地实现业务目标。

CI/CD

CI/CD是什么?

  CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题。具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。

CI 持续集成(Continuous Integration)

  现代应用开发的目标是让多位开发人员同时处理同一应用的不同功能。但是,如果企业安排在一天内将所有分支源代码合并在一起,最终可能造成工作繁琐、耗时,而且需要手动完成。这是因为当一位独立工作的开发人员对应用进行更改时,有可能会与其他开发人员同时进行的更改发生冲突。如果每个开发人员都自定义自己的本地集成开发环境(IDE),而不是让团队就一个基于云的 IDE 达成一致,那么就会让问题更加雪上加霜。  持续集成(CI)可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或“主干”中。一旦开发人员对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。这意味着测试内容涵盖了从类和函数到构成整个应用的不同模块。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。CD 持续交付(Continuous Delivery)完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保 CI 已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中。

CD 持续部署(Continuous Deployment)

  对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署。作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。由于在生产之前的管道阶段没有手动门控,因此持续部署在很大程度上都得依赖精心设计的测试自动化。实际上,持续部署意味着开发人员对应用的更改在编写后的几分钟内就能生效(假设它通过了自动化测试)。这更加便于持续接收和整合用户反馈。总而言之,所有这些 CI/CD 的关联步骤都有助于降低应用的部署风险,因此更便于以小件的方式(而非一次性)发布对应用的更改。不过,由于还需要编写自动化测试以适应 CI/CD 管道中的各种测试和发布阶段,因此前期投资还是会很大。

自动化

IT 自动化是什么意思?

  IT 自动化有时也称为基础架构自动化,是使用软件来创建可重复的指令和进程,以此取代或减少人类与 IT 系统的交互。自动化软件在这些指令、工具和框架的约束范围内工作,从而在几乎不需人工干预的情况下执行任务。

为什么需要 IT 自动化?

  自动化是IT 优化和数字化转型的关键。如今多变的 IT 环境需要以前所未有的速度进行扩展,而这个目标的实现离不开 IT 自动化。

参考文章

https://azure.microsoft.com/zh-cn/overview/what-is-devops/https://baike.baidu.com/item/devops/2613029https://www.redhat.com/zh/topics/devops/what-is-ci-cdhttps://www.redhat.com/zh/topics/automation/whats-it-automation

到此这篇关于DevOps,CI,CD,自动化简单介绍的文章就介绍到这了,更多相关DevOps,CI,CD,自动化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 电子邮件 退信原因大全

    电子邮件 退信原因大全

    我们可以对邮件多尝试几次发送,如果实在不行那就过一会再发送邮件。
    2009-06-06
  • 如何集成Elasticsearch到django restful

    如何集成Elasticsearch到django restful

    在Django项目中集成Elasticsearch可通过Haystack实现,Haystack作为Django插件提供搜索接口,Elasticsearch作为后端搜索引擎存储检索数据,Haystack支持多种搜索引擎,易于切换且不需改动代码,本文给大家介绍如何集成Elasticsearch到django restful,感兴趣的朋友一起看看吧
    2024-09-09
  • 互联网科技大佬推荐的12本必读书籍

    互联网科技大佬推荐的12本必读书籍

    12本互联网科技大佬推荐的必读书籍,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 一文详解 OpenGL ES 纹理颜色混合的方法

    一文详解 OpenGL ES 纹理颜色混合的方法

    在OpenGL中绘制的时候,有时候想使新画的颜色和已经有的颜色按照一定的方式进行混合。怎么实现这个效果呢,下面小编给大家带来了OpenGL ES 纹理颜色混合的实现方法,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • CommonLisp中解析命令行参数示例

    CommonLisp中解析命令行参数示例

    这篇文章主要为大家介绍了CommonLisp中解析命令行参数示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Idea 2022激活码最新汇总(亲测有效)

    Idea 2022激活码最新汇总(亲测有效)

    JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。今天给大家分享大批IDEA 激活码到期之后的乱象,大家可以参考下
    2020-07-07
  • 基于Token的身份验证之JWT基础教程

    基于Token的身份验证之JWT基础教程

    JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。下面这篇文章主要给大家介绍了关于基于Token的身份验证之JWT的基础相关资料,文中通过示例代码的非常详细,需要的朋友可以参考下
    2018-09-09
  • VSCode + WSL 2 + Ruby环境搭建图文详解

    VSCode + WSL 2 + Ruby环境搭建图文详解

    这篇文章主要介绍了VSCode + WSL 2 + Ruby环境搭建,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 详细介绍HTTP Cookie

    详细介绍HTTP Cookie

    本篇文章主要介绍了详细介绍HTTP Cookie,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • ROS机器人底盘坐标像素变换操作方法

    ROS机器人底盘坐标像素变换操作方法

    ROS最常用到的三个坐标系是:map、odom、base_link,这篇文章主要介绍了ROS机器人底盘坐标像素变换,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01

最新评论