用途:在终端用 glab 操作 GitLab,并编写可维护的 .gitlab-ci.yml 流水线,覆盖创建/保护项目、打开与合并 MR、管理 CI/CD 变量与流水线计划。
主要能力:项目创建与分支保护(push=No one 的真正 MR-only 门禁);MR 创建、查看、合并;CI/CD 变量设置(masked/protected);流水线阶段、rules 条件执行、可复用模板(隐藏 job + extends + include)、dotenv artifacts 传值、手动发布门禁、计划流水线;调试 masked 变量被拒、密钥未进流水线、hotfix 缺保护凭证、YAML 锚点破坏 script 等常见故障。
使用方式:先 glab auth status 确认登录与协议,再用 glab api user 确认账号。常用命令:glab repo create NAME --private --description "...";glab mr create/merge/list/view;glab variable set NAME value --masked [--protected];glab ci lint;glab ci status/view;glab pipeline list;glab api <endpoint>。保护 main 需先 DELETE 再 POST protected_branches,访问级别 0=No one、30=Developer、40=Maintainer、60=Admin,并用 PUT 设置 only_allow_merge_if_pipeline_succeeds 等。
限制与注意:masked 变量值须单行、≥8 字符且近似 base64 字符集,否则用 NAME_B64 存储并在使用时 base64 -d;protected 变量只注入受保护分支/标签,hotfix 若需生产密钥须同时保护 hotfix 模式;include:local 仅推送后解析;创建项目、推送、合并、设变量属不可逆操作,须先确认意图。缺少官方文档细节。