✨【GitLab】【CI/CD】核心概念一览

🍃前言

你好啊😎

我是你的人类朋友!

今天说下基于GitLab的cicd相关核心概念

这年头基本是必备知识了

建议全文背诵

注:GitLab CI/CD 是 GitLab 提供的自动化工具链,用于实现持续集成(CI)和持续交付/部署(CD)。

1. Pipeline(流水线)

  • 当你推送代码到仓库时自动触发的一系列任务
  • 代码会从测试部署一步步通过
  • Pipeline 就是 GitLab CI/CD 的"总指挥",它负责管理整个自动化流程

2. Stage(阶段)

  • Pipeline 中的逻辑分组,代表开发流程的一个大的步骤
  • 【大的步骤】一般包括:构建(build) → 测试(test) → 部署(deploy)
  • 一个阶段包含多个 【job】,这些 job 会【并行执行】

job就是一个个具体的任务。比如「安装依赖」「运行测试」「编译代码」「打包镜像」「部署服务器」之类的,后面会讲到

3. Job(作业)

  • 最基本的执行单元,定义具体要做什么
  • 例如:"运行单元测试"、"编译前端代码"
  • 每个 job 至少需要一个脚本(script)来执行命令

4. Runner(执行器)

  • 实际执行 job 的"工人"
  • GitLab提供公共Runner(大家共用),你也可以自己配置私人Runner(独享性能/环境)
  • 支持在不同环境和平台上运行(Docker、虚拟机、物理机等)

5. .gitlab-ci.yml 文件【重点】

  • 定义整个 CI/CD 流程的配置文件
  • 放在项目根目录下
  • 用 YAML 语法编写,告诉 GitLab 要运行哪些 job 和 stage

##🧩 下面是整体的工作流程

  1. 代码推送/触发事件

    • 你推送代码到仓库
    • 或触发其他事件(Merge Request、定时任务、API调用等)
  2. 条件检查

    • GitLab 会先检查 .gitlab-ci.yml 中的 rules/only/except 条件
    • 只有满足条件才会继续,否则流程终止
  3. 创建 Pipeline

    • GitLab 生成一个 Pipeline,包含所有 Stage 和 Job
    • 每个 Job 会根据 ruleswhen 决定是否执行
  4. Stage 顺序执行

    • Pipeline 按 stages 定义的顺序运行(如 buildtestdeploy
    • 同一 Stage 的 Job 默认并行执行 (除非设置 needs 依赖)
  5. Runner 分配执行

    • GitLab 分配可用 Runner(共享或专用)执行 Job
    • 每个 Job 运行在独立环境(Docker/虚拟机/Shell)
  6. 结果判断

    • 如果某个 Job 失败 ,默认会终止后续 Stage(除非设置 allow_failure: true
    • 如果所有 Job 成功,进入最终部署阶段
  7. 部署(可能需手动批准)

    • 如果部署 Job 设置了 when: manual,需手动点击执行
    • 否则自动部署到目标环境

👋最后

上面就是文章的全部内容

这些概念搞清楚之后,最好尝试手动部署

部署成功基本就是入门了。

下次见!

🚗~~~~~ ~~ ~

相关推荐
AI攻城狮4 天前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
冬奇Lab6 天前
一天一个开源项目(第37篇):awesome-selfhosted - 自托管软件资源集合
开源·自动化运维·资讯
小飞程序员8 天前
Docker本地部署gitlab实践(windows,linux)
devops
牛奶咖啡139 天前
DevOps自动化运维实践_使用再生龙对Linux系统进行备份还原
运维·自动化·devops·linux系统的备份还原·linux系统克隆备份·再生龙
Aliex_git9 天前
Dockerfile 优化实践笔记
笔记·学习·gitlab
觅特科技-互站9 天前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
加农炮手Jinx9 天前
Flutter for OpenHarmony: Flutter 三方库 icon_font_generator 自动化将 SVG 图标集转化为字体文件(鸿蒙矢量资源全自动管理)
运维·flutter·华为·自动化·harmonyos·devops
成为你的宁宁9 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven
codingWhat10 天前
手把手系列之——前端工程化
ci/cd·devops·前端工程化
国思RDIF框架10 天前
Docker Compose多后端+多前端部署:日志集中管理实操指南(基础版+进阶版,亲测可用)
docker·容器·自动化运维