CI&CD 体系介绍

这篇具有很好参考价值的文章主要介绍了CI&CD 体系介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

先解释几个概念:

1、DevOps(Development & Operations) 

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

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

 它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、过程和工具。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

 2018年 DevOps 的现状调查报告已经出来,下图是精英级执行团队使用DevOps 后的效率。精英级执行团队在以下几个方面有着突出的表现。

1)代码发布频率高46 倍。

2)代码从提交至发布的速度快2555 倍。

3)故障变更率降低1/7。

4)事故恢复时间快2604 倍。

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

 CI / CD 是什么?

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

 A、持续:

“持续”用于描述遵循不同流程实践。这并不意味着“一直在运行”,而是“随时可运行”。它还包括几个核心概念/最佳实践。这些是:

1)频繁发布:能够频繁地交付高质量的软件。

2)自动化流程:包括构建、测试、版本控制、集成等等。

3)快速迭代:“快速”在这里是个相对术语,但无论软件更新/发布的频率如何,预期的持续过程都会以高效的方式将源代码转换为交付物。

B、持续集成:

持续集成(CI)是一种高效率的软件开发实践。在持续集成中,团队成员频繁的集成他们的工作成果,每人一天可以集成多次,每次集成都会经过自动化构建(包括静态扫描,自动化测试等)的检验,以尽快发现错误。许多团队发现这种方法可以显著减少集成引发的问题,并可以加快团队合作软件开发的效率(以上引用自 Martin Fowler 对持续集成的定义)

C、持续交付和部署:

持续交付(CD)指频繁的将软件的新版本交付给质量团队或者用户,以供评审,评审通过即可进入生产阶段。

持续部署(CD)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境中。

从下图中可以更清晰看到三者的关系:

目前持续集成、持续交付、持续部署在开源社区都是热点,用户可以方便地利用这些开源组件来构建自己企业的持续集成、持续交付及持续部署平台。

常用的 CI/CD 工具有哪些?

CI/CD 工具可以协助团队自动进行开发、部署和测试。有些工具专门处理集成(CI)方面的问题,有些工具负责管理开发和部署(CD)工作,而另外一些工具则专注于持续测试或相关功能。

1、jenkins :持续集成工具中以Jenkins 使用最为广泛,由Jenkins 来作业化持续集成过程;

2、GitLab:利用GitLab来管理程序版本;

3、Gerrit:利用Gerrit 来做代码审核;

4、Sonar:利用Sonar 进行代码质量扫描;

5、Docker:最火的容器化方案,可使用 Docker 来进行本地代码调试,可利用Docker compose 来构建镜像;可利用Docker 来部署容器。

6、Kubernetes :容器技术的另一种比较火的方案。

此外,任何工具只要是 DevOps 的基本工具,就有可能属于 CI/CD 流程的一部分。用于配置自动化(如 Ansible、Chef 和 Puppet)、容器运行时(如 Docker、rkt 和 cri-o)以及容器编排(如 Kubernetes)的工具严格来说不算是 CI/CD 工具,但它们也现身于许多 CI/CD 工作流中。

下图显示了有 Docker 参与的 CI&CD 过程:

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

CI/CD 能做什么?

CI/CD 可以协助团队自动进行开发、部署和测试。有些工具专门处理集成(CI)方面的问题,有些工具负责管理开发和部署(CD)工作,而另外一些工具则专注于持续测试或相关功能。

CI/CD 的构建结果以及报告(测试、安全等)直接反馈到 MR(Merge Request)中,打通了各个环节的数据流,避免了数据孤岛的形成,同时为研发、代码审核人员提供代码是否能够合入的决策能力,从源头保证代码质量以及应用程序安全。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

cicd测试,职场经验,软件测试工程师,软件测试,单元测试,自动化测试,职场和发展,软件测试,程序人生

 文章来源地址https://www.toymoban.com/news/detail-766058.html

到了这里,关于CI&CD 体系介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 职场经验、为什么程序员一定要写单元测试?

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.5k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年02月21日
    浏览(60)
  • [Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]

    首先需要在钉钉中创建一个项目群。 复制Webhook,后面在 Jenkins 配置时需要使用。         在Jennkins中下载 build user vars plugin ,获取项目中的相关变量值 在 Jenkins 中下载 DingTalk 插件。 在 Jenkins 的系统管理中可找到“钉钉”,这是安装过 DingTalk 后出现的。 修改Jenkinsfile文件

    2024年02月13日
    浏览(43)
  • [Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

    CI,Continuous Integration,持续集成。即将持续不断更新的代码经构建、测试后也持续不断的集成到项目主干分支。 CD,包含两层含义:Continuous Delivery,持续交付,和 Continuous Deployment,持续 部署。 持续交付:是持续集成的后续步骤,持续频繁地将软件的新版本交付到类生产环境

    2024年02月14日
    浏览(51)
  • [Docker实现测试部署CI/CD----相关服务器的安装配置(2)]

            Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 下载Linux版本的jdk,解压到/usr/local目录 进入 /etc/profile 目录,设置环境变量 刷新配置文件,输入

    2024年02月14日
    浏览(56)
  • [Docker实现测试部署CI/CD----Jenkins集成相关服务器(3)]

             SonarScanner 是一种代码扫描工具,专门用来扫描和分析项目代码质量。扫描和分析完 成之后,会将结果写入到 SonarQube 服务器的数据库中,并在 SonarQube 平台显示这些数 据。         在 SonarQube 官网的帮助文档中可以下载 SonarScanner。这里下载一个 Linux 系统下使

    2024年02月14日
    浏览(43)
  • 在 CI/CD流水线中运行自动化单元测试的4个原因

    目录 什么是单元测试? C#中的单元测试示例 我需要在CI/CD 流水线中运行自动化测试吗? 开发人员代码验证反馈循环 预验证 步步为营 减少“另一个开发人员写了这段代码”的问题 单元测试 什么是单元测试? 单元测试是一小段代码,用于测试应用程序编写的代码的逻辑。单

    2024年02月16日
    浏览(103)
  • 第七章:敏捷开发工具方法-part2-CI/CD工具介绍

    什么是CI/Cd? CI-Continuous integration : 持续集成 是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代吗行合并到一起并切相互不影响工作。 CD-continuous deployment : 持续部署 是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的

    2024年02月09日
    浏览(57)
  • 没有自动化测试项目经验,3个项目帮你走入软测职场!

        学习自动化测试最难的是没有合适的项目练习。测试本身既要讲究科学,又有艺术成分,单单学几个 API 的调用很难应付工作中具体的问题。 你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个元素,而不是另一个。你得有

    2024年01月20日
    浏览(45)
  • 软件测试经验:网站测试的主要方法

    对于网站的测试而言,每一个独立的功能模块需要单独的 测试用例 的设计导出,主要依据为《需求规格说明书》及《详细设计说明书》,对于应用程序模块需要设计者提供基本路径测试法的测试用例。 1、链接测试 链接是 Web 应用系统的一个主要特征,它是在页面之间切换和

    2024年01月24日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包