gitlab-ci-patterns

构建具备多阶段工作流、缓存机制和分布式运行器的GitLab CI/CD流水线,以实现可扩展的自动化。适用于实施GitLab CI/CD、优化流水线性能或设置自动化测试与部署的场景。

作者

安装

热度:2

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-gitlab-ci-patterns&locale=zh&source=copy

GitLab CI Patterns - GitLab CI/CD 流水线模板与最佳实践

技能概述


GitLab CI Patterns 提供 GitLab CI/CD 流水线设计的完整模板集合,涵盖多阶段工作流、缓存策略、Docker 构建、Kubernetes 部署和安全扫描等常用场景。

适用场景

1. 自动化 GitLab CI/CD 流程


为新建项目快速搭建 CI/CD 流水线,包括代码构建、自动化测试、容器镜像构建和多环境部署。支持从开发到生产的完整自动化交付链路。

2. 优化 Pipeline 执行性能


通过合理的缓存策略、并行任务编排和产物管理,显著缩短流水线执行时间。提供 node_modules、Docker 层缓存等多种缓存方案。

3. GitOps 与容器化部署


实现基于 GitLab 的 Kubernetes 部署工作流,支持多环境(staging/production)自动化部署,配合手动审批确保生产安全。

核心功能

多阶段流水线架构


提供 build → test → deploy 标准三阶段模板,支持自定义阶段顺序和依赖关系。包含代码覆盖率报告生成、测试产物保留和条件执行规则。

Docker 构建与推送


集成 Docker-in-Docker 服务,实现自动化镜像构建、打标签(commit SHA + latest)和推送到 GitLab Container Registry。支持安全扫描集成。

多环境部署策略


通过 YAML 模板复用和 GitLab Environments 功能,实现 staging/production 分环境部署。生产环境支持手动审批门禁,部署失败自动回滚。

常见问题

GitLab CI Pipeline 如何配置多阶段工作流?


.gitlab-ci.yml 中定义 stages 列表,每个 Job 通过 stage 字段指定所属阶段。阶段按顺序执行,同阶段 Job 默认并行。例如:
stages: [build, test, deploy]
build-job:
  stage: build
test-job:
  stage: test

如何优化 GitLab CI Pipeline 的执行速度?


主要优化手段包括:配置 cache 缓存依赖(如 node_modules)、使用 artifacts 传递构建产物、设置 only/rules 减少不必要的 Job 执行、利用 parallel 并行执行测试。

GitLab CI 怎么部署应用到 Kubernetes?


使用 kubectl 镜像配合 KUBE_CONFIG 认证信息,通过 kubectl apply 应用部署清单。建议使用 GitLab Environments 跟踪部署状态,并配置 rollout status 等待部署完成。

GitLab Runner 和共享 Runner 有什么区别?


共享 Runner 由 GitLab.com 提供,适合中小型项目;私有 Runner 部署在自己的基础设施上,可自定义镜像和资源限制,适合有特定安全或性能要求的企业项目。

如何在 GitLab CI 中实现 Docker 镜像构建和推送?


使用 docker:24 镜像配合 docker:24-dind 服务,在 before_script 中登录 Container Registry,然后在 script 中执行 docker builddocker push

GitLab CI 如何实现多环境自动化部署?


通过 .deploy_template YAML 锚点定义通用部署逻辑,为不同环境创建独立的 Job。使用 environment 字段声明环境名称和 URL,生产环境建议设置 when: manual 手动审批。