文章:什么是持续集成(CI)/持续部署(CD)?

简要摘抄:

对于 “持续” 一词的概念

这并不意味着“一直在运行”,而是“随时可运行”。

CI 即持续集成

持续集成(continuous integration)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。
目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用。

CD 可分别指代两个概念: 持续交付持续部署

持续交付(continuous delivery)通常是指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本,基本上没有任何人为干预。

持续交付在软件开发过程中的目标是自动化、效率、可靠性、可重复性和质量保障(通过持续测试)。

持续部署(continuous deployment)是指能够自动提供持续交付管道中发布版本给最终用户使用的想法。根据用户的安装方式,可能是在云环境中自动部署、app 升级(如手机上的应用程序)、更新网站或只更新可用版本列表。

但是根据原文,说持续交付可包含持续部署

持续交付包含持续集成(自动检测源代码变更、执行构建过程、运行单元测试以验证变更),持续测试(对代码运行各种测试以保障代码质量),和(可选)持续部署(通过管道发布版本自动提供给用户)。

个人认为这个两个概念的关键区别,应该是持续交付的结果是生成目标成果,该成果需要人为部署,但是持续部署则是在持续交付的基础上,可以自动将应用发布到生产环境。

Pipeline

将源代码转换为可发布产品的多个不同的 任务(task)和 作业(job)通常串联成一个软件“管道”,一个自动流程成功完成后会启动管道中的下一个流程。这些管道有许多不同的叫法,例如持续交付管道、部署管道和软件开发管道。

即 Pipeline 是关于 CI/CD 的一系列流程。

CI、CD、Pipeline 概念相关推荐

  1. OpenShift 4 Hands-on Lab (8) 基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在 OpenShift 4.8 环境中验证(OpenShift 4.9 环境的 Jenkins 版本较新,编译 Java 报错 ...

  2. OpenShift 4之实现一个基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline

    OpenShift 4之实现一个基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline 场景说明 运行环境 配置操作过程 准备运行所需资源 配置Gogs并导入应用代 ...

  3. gitlab项目中启用或禁用 GitLab CI/CD Pipeline

    默认情况下,GitLab CI/CD 在新安装上会默认启用,要关闭的话,有两种方式: 需要在每个项目下单独关闭. 通过修改源安装和 Omnibus 安装中的设置.(未验证) 1.每个项目单独关闭 要在 ...

  4. OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法1+2 (视频)

    <OpenShift / RHEL / DevSecOps 汇总目录> 说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 准备环境 安装可实 ...

  5. 基于 Kubernetes 实践弹性的 CI/CD 系统

    大家好,我是来自阿里云容器服务团队的华相.首先简单解释一下何为 Kubernetes 来帮助大家理解.Kuberentes 是一个生产可用的容器编排系统.Kuberentes 一方面在集群中把所有 N ...

  6. 基于 Kubernetes 实践弹性的 CI/CD 系统 1

    大家好,我是来自阿里云容器服务团队的华相.首先简单解释一下何为 Kubernetes 来帮助大家理解.Kuberentes 是一个生产可用的容器编排系统.Kuberentes 一方面在集群中把所有 N ...

  7. 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第1天

    目录 介绍 路线图 DevOps 持续集成 持续部署 Jenkins Azure Web App服务 主题 先决条件 安装Jenkins 先决条件 下载并安装 Jenkins插件 让它运行 安装自定义 ...

  8. 如何从零开始搭建 CI/CD 流水线

    来源 | Saurabh Kulshrestha 译者 | 徐进 持续集成和持续部署成为现代 DevOps 趋势下的重要环节,很多角色岗位都要求 CI/CD 的相关技能.本文介绍了什么是 CI/CD ...

  9. 基于docker-compose的Gitlab CI/CD实践排坑指南

    长话短说 经过长时间实操验证,终于完成基于Gitlab的CI/CD实践,本次实践的坑位很多, 实操过程尽量接近最佳实践(不做hack, 不做骚操作),记录下来加深理解. 看过博客园<docker ...

  10. gitlab ci 配置 java_GitLab CI/CD 配置

    GitLab CI/CD 配置 概念 操作示例 创建测试项目 sample-web,然后打开项目的 Runners 配置 找到这个地方,后边要用 然后搭建 gitlab-runner,CI/CD 需要 ...

最新文章

  1. android 事件冒泡,Android事件分发
  2. C++98C++11的区别
  3. python—os模块、时间模块
  4. 和方舟rust一样的手游_偶像梦幻祭2新活动 ES手游全新开服
  5. POJ-2226 Muddy Fields 最小点集覆盖
  6. Windows服务程序
  7. Atiitt 降低财政赤字风险性实施方案
  8. cookie、session、cache-control等
  9. 阄阄乐-IOS抓阄抽签工具
  10. 群英传内推第001期
  11. memcached php mysql_PHP: memcached
  12. 8.2 JVM命令行监控——jstat
  13. php 无法连接redis,无法连接使用 phpredis
  14. 【数值分析】插值法:拉格朗日插值、牛顿插值
  15. java 获取当前时间的三种方法是什么
  16. 单机斗地主java下载_java单机斗地主
  17. 从java到女装暴走漫画_[Java教程]暴走漫画
  18. MacOS 系统版本更新Monterey12.3.1版之后l2tp无法正常访问
  19. HDU2717 Catch That Cow ( BFS )
  20. 一条命令轻松绘制CNS顶级配图-ggpubr

热门文章

  1. Raspberry3B+搭建有线路由器-实现网口转发
  2. 十大热门行业公布 成都仍是跳槽首选
  3. 读书感受 之 《写给年轻人的 经济学故事书》
  4. 中钰睿泓分享:设计LOGO的思路和流程
  5. echarts3D地球点击事件无效
  6. throw java_THROW,JAVA的throw和throws怎么用!
  7. 新年,未知的开始---Created by 思贤泪自潸
  8. BTT6030芯片手册
  9. nginx 正反代理(超级玛丽小游戏)
  10. JAVA架构师之路十:设计模式之组合模式