IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> CI/CD是什么?如何通过谷歌云实现CI/CD? -> 正文阅读

[开发测试]CI/CD是什么?如何通过谷歌云实现CI/CD?

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付。

CI 持续集成(Continuous Integration)

现代应用开发需要让多位开发人员同时处理同一应用的不同功能,而这些开发人员分别写的源代码最终还是需要汇总和集合。但是企业的开发人员分别独立去开发,最后的源代码汇总在一起的时候,很有可能会出现冲突。

持续集成(CI)可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或"主干"中。一旦开发人员对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试来验证代码,如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。

持续集成 (CI) 的核心是尽早并经常获得反馈,这使得在开发过程的早期识别和纠正问题成为可能。使用 CI,您可以频繁地集成您的工作,通常是一天多次,而不是等待稍后进行一次大型集成。每个集成都通过自动构建进行验证,使您能够尽快检测集成问题并减少下游问题。

CD 持续交付(Continuous Delivery)

完成持续集成 (CI) 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保持续集成 (CI) 已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。

在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中。

持续交付(CD) 是关于打包和准备软件的,目的是为用户提供增量更改。

CI/CD管道

构成 CI/CD 管道的步骤被划分为不同的任务子集,称之为管道阶段。典型的管道阶段包括:

  • Source,在大多数情况下,管道运行由源代码存储库触发;
  • Build,构建阶段,编译程序;
  • Test ,自动化测试代码
  • Deploy,部署代码

CI/CD策略

最近应用程序开发领域发生了很大变化,因此导致CI/CD策略也发生了变化。

  • 混合和多云部署——大型企业希望在混合云环境中部署应用程序,并使用不会将它们锁定在特定供应商的工具和服务。
  • 从单体架构到微服务的转变——团队正在将大型单体架构分解为微服务,以提高敏捷性。这使得不同的团队可以使用不同的语言、技术堆栈、开发生命周期,这意味着部署模式、工具需求和扩展模式正在发生变化。
  • 云原生应用程序——不再只是虚拟机;公司正在转变范式并采用无服务器、容器和 Kubernetes。在简化应用程序开发的某些方面的同时,这一举措增加了其他领域的复杂性。

理想情况下,开发人员应该专注于他们的代码,而不是通过 CI/CD 流程来引导他们的更改。嵌入代码后,应立即触发 CI/CD 步骤并在后台运行。因此, CI/CD 管道应支持:

  • 打包源码
  • 自动化单元和集成测试
  • 一致的构建环境
  • 部署到生产之前的批准
  • Red/Green/Canary 回滚(Roll-outs)

如何通过谷歌云实现CI/CD?

?

为了帮助客户实现CI/CD,谷歌云平台开发并提供了一系列产品/服务满足CI/CD管道的需求。

产品包括:

  • Cloud Code,包含编写、调试和部署适用于 IntelliJ、VS Code 或浏览器的云端应用所需的一切。
  • Cloud Build,自定义工作流,跨多个环境进行构建、测试和部署。
  • Artifact Registry,存储、管理和保护容器映像及语言包。
  • Cloud Run,用于运行容器化应用的全代管式环境。
  • Cloud Deploy,全代管式Google Kubernetes Engine持续交付,具有内置指标、批准和安全性。

Cloud Code

如果您完全在云原生环境中工作,那么您将需要使用 Cloud Code 来启动您的 CI/CD 管道。在您的 IDE 中使用Cloud Code ;它附带的工具可帮助您快速轻松地编写、运行和调试云原生应用程序。然后将您的代码推送到 Cloud Build 进行构建过程,将其打包到Artifact Registry中,然后在GKE或 Cloud Run 上运行。您可以在Google Cloud 的运维套件中获得部署所需的所有可见性和指标。

Cloud Build

Cloud Build 是一个完全托管的 CI/CD 平台,可让您在包括 VM、无服务器、Kubernetes 和 Firebase 在内的混合和多云环境中构建、测试和部署。Cloud Build 可以从 Cloud Storage、Cloud Source Repositories、GitHub 或 Bitbucket 导入源代码;根据您的规格执行构建;并生成诸如 Docker 容器映像或 Java 档案之类的工件。

Cloud Build 将您的构建作为一系列构建步骤执行,每个步骤都在 Docker 容器中运行。无论环境如何,构建步骤都可以做任何可以从容器中完成的事情。要执行任务,您可以使用Cloud Build 提供的支持构建步骤,也可以编写自己的构建步骤。作为构建步骤的一部分,Cloud Build 将应用部署到您选择的平台。您还可以使用二进制授权在 CI/CD 管道内执行深度安全扫描,并确保仅将受信任的容器映像部署到生产环境。

Cloud Build 私有池可帮助您满足企业安全性和合规性要求。这些是私有的、专用的工作人员池,可对构建环境提供更大的定制,包括访问私有网络中资源的能力。例如,您可以从托管在私有网络(包括 Github Enterprise)中的源代码存储库触发完全托管的 DevOps 工作流。

Cloud Deploy

Google Cloud Deploy(预览版)是一种托管的持续交付服务,它使向 GKE 的持续交付更容易、更快、更可靠。它内置了安全控制,可以与您现有的 DevOps 生态系统集成。

以上是关于CI/CD的介绍和谷歌云提供的CI/CD工具的简单介绍,之后还会发布相关的如何利用上述的产品实现CI/CD的文章。

http://cloud-ace.cn

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 12:13:05  更:2022-01-28 12:13:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:38:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码