✨【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,需手动点击执行
    • 否则自动部署到目标环境

👋最后

上面就是文章的全部内容

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

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

下次见!

🚗~~~~~ ~~ ~

相关推荐
热爱运维的小七11 小时前
告别内存溢出:ActiveMQ 性能诊断与全流程优化
数据库·it运维·activemq·devops
lisanmengmeng14 小时前
Gitlab搭建
gitlab
云达闲人18 小时前
搭建DevOps企业级仿真实验环境:007Proxmox 虚拟机模板制作
devops·proxmox ve·虚拟化运维·虚拟机模板制作·pve 模板·企业级仿真实验环境·虚拟机克隆
云达闲人18 小时前
搭建DevOps企业级仿真实验环境:006Proxmox 基础环境验证
运维·devops·proxmox ve·sre·仿真实验环境·快照与克隆·运维实操教程
行者-全栈开发2 天前
Linux 核弹级高危漏洞 CVE-2026-31431 完整修复指南
linux·运维·服务器·ci/cd·devops·cve·核弹级高危漏洞
dapeng-大鹏3 天前
记一次 GitLab Let‘s Encrypt 证书申请失败的排查与修复
gitlab
身如柳絮随风扬3 天前
使用 Docker 部署 GitLab 并分配用户账号 —— 保姆级教程
docker·容器·gitlab
AC赳赳老秦3 天前
项目闭环管理:用 OpenClaw 对接 Jira / 禅道,实现需求 - 任务 - 进度 - 验收全流程自动化
运维·人工智能·python·自动化·devops·jira·openclaw
Misnice3 天前
DevOps 介绍
运维·devops
鼎道开发者联盟4 天前
鼎享会 | 从手工到自动化:OpenClaw改造GitLab内部协作流程的全过程
自动化·gitlab·openclaw