编程导航教程

首页

CI/CD 持续集成学习路线 | 26 年最新零基础到精通一条龙(万人收藏⭐️)

2025-11-18 20:12
阅读 2.0k
下载文档
评论
问答
笔记
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
大纲
    0

    编程导航学习网站:学编程、做项目、拿 Offer!

    企业高频面试题库:开始刷题,面试遇原题!

    精选简历模板大全:1 分钟搞定简历!

    AI 资源导航网站:获取最新 AI 黑科技!

    1 对 1 模拟面试:随时随地提升面试能力

    CI/CD 求职高频面试题:开始刷题

    开篇介绍

    CI/CD 是持续集成(Continuous Integration)和持续交付/部署(Continuous Delivery/Deployment)的缩写。

    其中,持续集成(CI)是指开发人员频繁地将代码集成到主分支,每次集成都通过自动化构建和测试来验证,及早发现问题。持续交付(CD)是指代码通过 CI 验证后,自动部署到测试环境或预发布环境。持续部署是持续交付的更进一步,自动部署到生产环境。

    CI/CD 通过自动化构建、测试和部署流程,让软件能够快速、频繁、可靠地交付给用户,大大提高了软件开发的效率和质量。

    为什么要学 CI/CD?

    CI/CD 是 DevOps 的核心实践,是现代软件开发的标准流程。几乎所有互联网公司都实施了 CI/CD(没错,包括鱼皮的鱼厂),掌握 CI/CD 是开发工程师和运维工程师的必备技能。而且 CI/CD 可以大大提高开发效率,减少人工操作、降低出错率,让团队能够更快速地交付高质量软件。

    CI/CD 的核心工具包括:Jenkins(老牌 CI/CD 工具)、GitLab CI(GitLab 内置)、GitHub Actions(GitHub 内置)、Travis CI、CircleCI 等。

    一张神图送上:

    学习前提

    学习 CI/CD 建议先掌握:

    1. Git 基础:熟练使用 Git 版本控制【必学】。关于 Git 的详细学习,可以查看 Git 和 GitHub 学习路线
    2. Linux 基础:理解 Linux 命令【建议】。关于 Linux 的详细学习,可以查看 Linux 服务器学习路线
    3. 编程基础:至少会一门编程语言【建议】
    4. 软件开发流程:理解软件的构建、测试、部署流程【建议】

    学习路线图

    CI CD 持续集成学习路线思维导图

    就业方向

    学完 CI/CD 后,有助于帮你提升求职下面这些岗位的竞争力:

    1. DevOps 工程师:负责 CI/CD 流水线的建设。关于 DevOps 工程师的详细学习,可以查看 DevOps 工程师学习路线
    2. 运维开发工程师:开发自动化运维工具
    3. SRE 工程师:负责系统的可靠性工程
    4. 测试工程师:负责自动化测试

    整体学习建议

    1)CI/CD 不仅是工具,更是一种文化和实践,要理解 CI/CD 如何提高软件交付效率和质量。

    2)从简单开始,先搭建一个简单的 CI/CD 流水线(如代码提交后自动运行测试),熟悉基本流程。然后逐步增加复杂度(如自动部署、多环境部署等)。

    3)选择合适的工具:Jenkins 是最成熟的工具,功能强大但配置复杂;GitLab CI 和 GitHub Actions 是现代工具,配置简单但功能也很强大。时至 2025 年,鱼皮建议 优先学习 GitHub Actions 和 GitLab CI,它们代表了 CI/CD 的未来方向,更适合新项目。

    4)CI/CD 的学习一定要结合实践。建议为自己的项目搭建 CI/CD 流水线,体验自动化带来的便利。

    5)推荐使用 Serverless 部署平台(如微信云托管、阿里云 Serverless),它们一般内置了 CI/CD 能力,代码提交后自动构建和部署,无需自己搭建流水线,非常方便。鱼皮的 AI 超级智能体项目 就教大家如何使用微信云托管实现自动化部署,从代码提交到上线全自动。

    5)AI 时代下,学习 CI/CD 的成本大大降低,可以用 AI 工具辅助编写配置文件、调试流水线。没事可以多到鱼皮的 AI 资源大全 中看看,应该有不少对你有用的 AI 工具。

    AI资源大全网站

    阶段 1:CI/CD 基础(3-12 天,仅供参考)

    学习目标

    理解 CI/CD 的核心概念和流程。

    知识点

    CI/CD 基础概念【必学】:

    • 持续集成(CI)
    • 持续交付(CD)
    • 持续部署
    • CI/CD 的流程

    CI/CD 的组成【必学】:

    • 代码仓库(Git)
    • 构建工具(Maven、Gradle、npm 等)
    • 测试工具
    • 部署工具

    CI/CD 最佳实践【必学】:

    • 频繁集成
    • 自动化测试
    • 快速反馈
    • 小步快跑

    学习重点

    1)CI/CD 的核心是自动化。每次代码提交都应该触发自动化流程:构建 → 测试 → 部署。

    2)CI/CD 可以及早发现问题。如果测试失败,流水线会中断,避免有问题的代码进入生产环境。

    3)要理解 CI、CD、持续部署的区别。CI 是自动构建和测试,CD 是自动部署到测试环境,持续部署是自动部署到生产环境。

    阶段 2:GitHub Actions(7-20 天,仅供参考)

    GitHub Actions 是 GitHub 官方的 CI/CD 工具,可以直接在代码仓库中配置自动化工作流,实现代码的自动构建、测试和部署。

    学习目标

    掌握 GitHub Actions,能够为 GitHub 项目搭建 CI/CD 流水线。

    知识点

    GitHub Actions 基础【必学】:

    • Workflow 的概念
    • .github/workflows 目录
    • YAML 配置文件
    • Events、Jobs、Steps

    Actions 市场【必学】:

    • 使用第三方 Actions
    • 常用 Actions(checkout、setup-node、upload-artifact 等)

    高级特性【建议学】:

    • Matrix 策略(多版本测试)
    • 缓存(Cache)
    • Secrets(密钥管理)
    • 环境(Environments)

    自托管 Runner【建议学】:

    • 自托管 Runner 的配置
    • 和 GitHub 托管 Runner 的区别

    学习建议

    1)GitHub Actions 是 GitHub 内置的 CI/CD 工具,配置简单、功能强大。如果项目托管在 GitHub,强烈推荐使用 GitHub Actions。

    2)Workflow 由一个或多个 Job 组成,Job 由多个 Step 组成,每个 Step 可以运行命令或使用 Action。

    3)Actions 市场有大量第三方 Actions,可以直接使用,无需自己实现。比如 actions/checkout 用于检出代码,actions/setup-node 用于配置 Node.js 环境。

    4)GitHub Actions 对公开仓库免费,私有仓库有免费额度。对于个人项目,免费额度一般就够用了。

    学习资源

    • ⭐ GitHub Actions 官方文档:最权威的学习资料,而且还有中文版,很贴心~
    • GitHub Actions 持续集成文档
    • GitHub Actions 持续部署文档

    阶段 3:GitLab CI/CD(5-15 天,仅供参考)

    GitLab CI/CD 是 GitLab 内置的持续集成工具,通过配置文件即可实现强大的自动化流程。

    学习目标

    掌握 GitLab CI/CD,能够为 GitLab 项目搭建 CI/CD 流水线。

    知识点

    GitLab CI 基础【必学】:

    • .gitlab-ci.yml 配置
    • Pipeline、Stage、Job
    • GitLab Runner

    常用配置【必学】:

    • script、before_script、after_script
    • variables(变量)
    • cache 和 artifacts
    • only 和 except(触发条件)

    Runner【必学】:

    • Shared Runner
    • Specific Runner
    • Runner 的安装和注册

    学习建议

    1)GitLab CI 是 GitLab 内置的 CI/CD 工具,配置文件是 .gitlab-ci.yml。如果项目托管在 GitLab,GitLab CI 是首选。

    2)GitLab CI 的 Pipeline 由多个 Stage 组成,每个 Stage 包含多个 Job,Job 在 Runner 上执行。

    3)GitLab 提供了免费的 Shared Runner,可以直接使用。如果需要更多资源或特定环境,可以自己搭建 Runner。

    学习资源

    • GitLab CI 官方文档:官方文档
    • GitLab CI vs GitHub Actions:对比

    阶段 4:Jenkins(10-15 天,仅供参考)

    Jenkins 是经典的开源 CI/CD 工具,拥有丰富的插件生态,适合构建复杂的企业级自动化流程。

    学习目标

    掌握 Jenkins,理解传统 CI/CD 工具的使用。

    知识点

    Jenkins 基础【必学】:

    • Jenkins 的安装和配置
    • Pipeline 流水线
    • Jenkinsfile

    插件系统【建议学】:

    • 常用插件
    • 插件的安装和配置

    高级特性【建议学】:

    • 参数化构建
    • 多分支流水线
    • Blue Ocean【可不学】

    学习重点

    1)Jenkins 是老牌 CI/CD 工具,功能强大但配置复杂。虽然 GitHub Actions 和 GitLab CI 更现代,但很多企业仍在使用 Jenkins,了解 Jenkins 仍然很重要。

    Jenkins 的图标是个老爷爷,跟 KFC 有异曲同工之妙~

    2)Jenkins Pipeline 可以用 Groovy 脚本定义,非常灵活。Jenkinsfile 是 Pipeline 的配置文件,可以版本化管理。

    3)Jenkins 的插件生态非常丰富,几乎任何功能都有对应的插件。但插件过多也导致管理复杂。

    原谅我,当时看到这张武装老爷爷的图差点笑吐了,太形象了……

    学习资源

    • Jenkins 官方文档:官方文档
    • DevOps Jenkins 教程:完整教程

    阶段 5:项目实战(10-30 天,仅供参考)

    学习目标

    通过实际项目巩固所学知识,积累 CI/CD 项目经验。

    学习建议

    1)搭建完整的 CI/CD 流水线:从代码提交到自动测试、自动部署、监控告警,体验完整流程。

    2)多环境部署:实现开发环境、测试环境、生产环境的自动化部署。

    3)集成自动化测试:在 CI/CD 流水线中集成单元测试、集成测试、E2E 测试等。

    4)优化流水线:包括但不限于优化构建速度(如使用缓存)、提高可靠性(如失败重试)等等。

    项目推荐

    传统部署场景:

    • 前端项目 CI/CD(构建、测试、部署到 CDN)
    • 后端项目 CI/CD(构建、测试、部署到服务器)
    • Docker 镜像 CI/CD(构建镜像、推送到镜像仓库)
    • Kubernetes 应用 CI/CD(部署到 K8s 集群)

    Serverless 部署场景(推荐):

    • 微信云托管:Serverless 部署平台,支持 CI/CD 流水线,无需管理服务器,自动弹性伸缩
    • 阿里云 Serverless、腾讯云 Serverless 等云平台

    鱼皮原创项目(实战 CI/CD):

    • ⭐ AI 超级智能体项目(25年最新):教你使用微信云托管实现自动化部署,从代码提交到部署上线全自动,体验 Serverless + CI/CD 的爽感

    学习资源

    • ⭐ AI 超级智能体项目:实战微信云托管自动化部署
    • 微信云托管官方文档:微信 Serverless 平台

    求职备战

    求职建议

    如果你想去的公司的岗位描述上明确提到了 CI/CD,那么你的简历上一定要有 CI/CD 项目经历。面试时要能够清楚地介绍搭建的流水线、使用的工具、遇到的问题和解决方案等。

    更多求职干货:编程导航求职干货分享

    经典面试题

    1. 什么是 CI/CD?有什么优势?
    2. GitHub Actions、GitLab CI、Jenkins 有什么区别?
    3. 如何搭建 CI/CD 流水线?
    4. 如何在 CI/CD 中集成自动化测试?
    5. 如何优化 CI/CD 流水线的性能?

    求职资源

    • ⭐ 鱼皮的保姆级求职指南
    • ⭐ 鱼皮的保姆级写简历指南
    • 编程导航的求职干货分享
    • 老鱼简历 - 写简历神器
    • 真实面经大全
    • 几百场真实面试视频
    • 1 对 1 模拟面试
    • 面试题讲解视频

    更多资源

    知识总结

    • ⭐ 编程导航:学习路线、项目教程、面试题、编程资源一站式平台
    • DevOps 工程师学习路线:完整的 DevOps 学习路线

    CI/CD 资源

    • GitHub Actions 文档:GitHub Actions 官方文档
    • GitLab CI 文档:GitLab CI 官方文档
    • Jenkins 文档:Jenkins 官方文档

    技术博客

    • GitLab Blog:GitLab CI/CD 最佳实践
    • GitHub Blog:GitHub Actions 技术分享
    • CircleCI Blog:CircleCI 持续集成
    • Netflix TechBlog:Netflix CI/CD 实践

    写在最后

    CI/CD 是现代软件开发的核心实践,通过自动化流程让软件能够快速、频繁、可靠地交付。掌握 CI/CD,不仅能提高开发效率,还能提升软件质量,是每个开发者都应该掌握的技能。

    学习 CI/CD 要先理解其核心概念和价值,然后选择一个工具(推荐 GitHub Actions)深入学习。多多实践,为自己的项目搭建 CI/CD 流水线,体验自动化带来的便利。

    希望这份学习路线能够帮助大家理解 CI/CD 的核心概念,快速上手 CI/CD 工具。

    感谢您的阅读~

    程序员必备资源

    1)程序员学习交流圈:极客教程、实战项目、求职宝典

    2)程序员面试八股文:实习/校招/社招高频考点、企业真题解析

    3)程序员写简历神器:专业模板、丰富例句、直通面试

    4)AI 知识资源大全:前沿技术、最新 AI 资讯、提示词大全

    5)1 对 1 模拟面试:实习/校招/社招面试拿 Offer 必备