Agent Skills
返回列表
💻

GitLab CI 模板库

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/gitlab-ci-template-library。

技能介绍

解决什么问题

当 GitLab CI/CD pipeline 随项目增长时,配置往往散落在多个 .gitlab-ci.yml 文件中:模板重复、触发条件不一致、阶段依赖关系隐式化,最终导致维护成本陡增。团队常见的痛点包括:

  • 同一构建逻辑在不同项目中反复复制,无法统一升级;
  • rules:changes 路径过滤规则不统一,导致无关提交也触发 pipeline;
  • needs 阶段依赖写死在单一文件中,重构或扩展时难以追踪;
  • Auto DevOps 的默认行为无法按业务需求精细调整。

技能如何工作

该技能通过三层机制重构 pipeline 配置,核心能力与关键步骤如下:

  • 模板化抽象:使用 include:template 引入预定义片段,再用 extends 继承并覆写关键字段,实现「一次定义、多处复用」;
  • 分层复用:先定义基础模板(如构建、测试阶段),再通过 extends 派生项目专属模板,避免直接复制整段配置;
  • 变更驱动触发:在模板中统一配置 rules:changes,按文件路径模式精确控制哪些变更触发哪些 job;
  • 依赖编排:通过 needs 关键字显式声明阶段间的有向无环图(DAG)依赖,让 GitLab 调度器按依赖关系并行或串行执行;
  • Auto DevOps 定制:通过 CI/CD 变量覆盖 Auto DevOps 的默认阶段、镜像版本或部署策略,无需修改其内置脚本。

关键步骤可归纳为:

  1. 规划模板层级(基础模板 → 中间模板 → 项目模板);
  2. 在基础模板中定义 rules:changes 路径模式与通用 needs 依赖;
  3. 项目级配置通过 extends 引用并覆写特定 job 或变量;
  4. 通过 CI/CD 变量注入 Auto DevOps 自定义参数,完成最终 pipeline 组合。

适用边界与注意点

  • 模板结构需与 GitLab Runner 版本及 .gitlab-ci.yml schema 对齐,跨大版本升级时需重新验证 extends 关键字的兼容性;
  • rules:changes 的路径匹配依赖文件路径模式的准确性,过于宽泛的规则可能导致无效 pipeline 触发;
  • needs 定义的 DAG 依赖需保持无环,否则 GitLab 调度器将拒绝执行;
  • Auto DevOps 变量覆盖需谨慎,过度修改可能破坏其内置的部署流程假设。

使用场景

  • 多项目团队需复用同一套构建/测试逻辑,避免重复编写 `.gitlab-ci.yml`
  • 在包含前端与后端的仓库中,需按代码路径触发差异化 CI 任务
  • 重构 CI 流程时需显式声明阶段依赖以实现并行调度
  • 希望按业务需求调整 Auto DevOps 的部署阶段或镜像版本

适合人员

  • GitLab CI/CD 维护工程师,需要为多项目统一 pipeline 配置
  • DevOps 架构师,负责设计可复用的 CI 模板体系
  • 后端开发者,需优化代码变更触发 CI 任务的规则
  • 平台工程师,负责定制 Auto DevOps 的部署流程