闲社服务运行正常AI智能体自动化平台
G

GitLab避坑指南

技能标识:GitLab

Avoid common GitLab CI/CD mistakes — rules gotchas, silent failures, and YAML merge traps.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
5
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

GitLab避坑指南

规则陷阱

  • - rules: 和 only:/except: 不能混用——每个作业只能选择其中一种
  • 首个匹配的规则生效——将特定规则放在通用规则之前
  • 缺少 when: 时默认值为 onsuccess——rules: - if: $CICOMMIT_TAG 会在标签上运行
  • 空规则数组 rules: [] 表示永不运行——与完全没有规则不同
  • 在末尾添加 - when: never 以防止穿透——否则未匹配的条件可能会运行

静默失败

  • - 受保护变量在非保护分支上缺失——作业运行但变量为空
  • Runner 标签不匹配——作业永久处于待处理状态且无错误提示
  • 在非特权 Runner 上使用 docker:dind——会因隐晦的 Docker 错误而失败
  • 掩码变量格式无效——变量仍会暴露在日志中

YAML 合并陷阱

  • - extends: 不会深度合并数组——scripts、variables 数组会被替换而非追加
  • 使用 !reference [.job, script] 进行复用——script: [!reference [.base, script], my command]
  • include: 文件可以相互覆盖——相同键名时最后一个文件生效
  • 锚点 &/* 不能跨文件使用——跨文件复用请使用 extends:

制品与缓存

  • - 缓存不保证在运行之间可用——应视为优化而非必要条件
  • 制品按阶段自动下载——如需跳过可添加 dependencies: []
  • needs: 默认下载制品——使用 needs: [{job: x, artifacts: false}] 可跳过

Docker-in-Docker

  • - 共享 Runner 通常不支持特权模式——需要自托管或特殊配置
  • 需要设置 DOCKERHOST: tcp://docker:2375——否则作业会使用错误的 Docker
  • 设置 DOCKERTLS_CERTDIR: 或正确配置 TLS——半配置的 TLS 会破坏构建

流水线触发

  • - CIPIPELINESOURCE 因触发方式而异——push、mergerequestevent、schedule、api、trigger
  • MR 流水线需要 rules: - if: $CIMERGEREQUEST_IID——不能仅依赖分支规则
  • 分离式与合并结果流水线——分离式测试源分支,合并式测试合并结果

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gitlab-1776328881 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gitlab-1776328881 技能

通过命令行安装

skillhub install gitlab-1776328881

下载

⬇ 下载 GitLab v1.0.0(免费)

文件大小: 1.74 KB | 发布时间: 2026-4-17 14:16

v1.0.0 最新 2026-4-17 14:16
Initial release
返回顶部