【前端工程化面试题】什么是 CI/CD

CI/CD 是软件开发中的两个重要实践,分别代表持续集成(Continuous Integration)和持续交付/持续部署(Continuous Delivery/Continuous Deployment)。

  1. 持续集成 (Continuous Integration, CI):持续集成是一种软件开发实践,通过将代码频繁地集成到共享存储库(如版本控制系统)中,并自动运行测试来验证新代码的正确性。主要目标是尽早地发现和解决代码集成问题,以便快速反馈给开发人员。CI 通常涉及以下几个关键步骤:

    • 开发人员提交代码到共享存储库。
    • CI 服务器自动获取最新的代码,并进行构建和测试。
    • 如果构建和测试通过,则发布构建结果或者集成结果,否则通知开发人员存在问题。
  2. 持续交付/持续部署 (Continuous Delivery/Continuous Deployment, CD)

    • 持续交付 (Continuous Delivery, CD):持续交付是一种软件开发实践,旨在确保软件能够随时随地以可部署的状态交付给用户。在持续交付中,每次成功的 CI 构建都会生成一个可部署的软件包,但部署的时机由人工决定。
    • 持续部署 (Continuous Deployment, CD):持续部署是持续交付的自动化形式,其中每次成功的 CI 构建都自动部署到生产环境中,不需要人工干预。持续部署通常在具有高度自动化的软件交付管道中使用,以实现快速、可靠地交付软件。

综合来说,CI/CD 是一种在软件开发中广泛应用的实践,旨在通过自动化、持续化地集成、测试和交付软件来提高开发团队的效率、质量和反应速度。

相关推荐
迷途呀24 分钟前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
嘴贱欠吻!1 天前
如何成为 CJMP 贡献者:AtomGit贡献流程与要求
git·ci/cd
hasty1 天前
一个 Git 分支名,如何穿透到 CI Runner 的 Shell?
git·ci/cd
thesky1234561 天前
智能体面试准备(八十九):智能体生产环境持续交付与版本治理工程——Agent CI/CD、版本化与 Eval-Gated 发布
ci/cd·灰度发布·智能体·持续交付·版本治理·agent registry·版本化
宋均浩1 天前
重跑率 31% → 6%,变更失败率 12% → 4%:CI/CD 流水线治理实战的 5 个配置
ci/cd·自动化运维·devops
Ramble_Naylor2 天前
Forgejo
ci/cd·团队开发·产品经理·源代码管理
smartpi_ai3 天前
空调内机做语音控制选哪颗?CI-03T 的红外码库优势、“5V 供电≠3.3V 串口“的电平误区与声学结构规范
人工智能·ci/cd·语音识别
极小狐4 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
极小狐4 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
11路没有终点4 天前
CI/CD 集成:GitHub Actions
ci/cd·github