agentsclimarketplace

Glab runner

Skill serejaris/kimi-skills/skills/gitlab-cli-guide/glab-runner

Полная коллекция скиллов Kimi (267 built-in + 7 plugin skills), выгруженная из сандбокса агента

Install
npx -y skills add serejaris/kimi-skills --skill glab-runner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 19 days oldThe repository was created 19 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

管理 GitLab CI/CD Runner(运行器)——列出、分配、取消分配、暂停和删除项目、群组或实例级别的 Runner。适用于查看 Runner 状态、将 Runner 分配给项目、临时暂停 Runner 或移除已退役的 Runner。触发词:runner、glab runner、列出 runner、分配 runner、取消分配 runner、暂停 runner、删除 runner、CI runner。

SKILL.md

5.1 KB, as published. Nobody here has run it

glab runner

通过命令行管理 GitLab CI/CD Runner(运行器)。

glab v1.87.0 新增

快速入门

# 列出当前项目的 Runner
glab runner list

# 暂停一个 Runner
glab runner pause <runner-id>

# 删除一个 Runner
glab runner delete <runner-id>

常见工作流

列出 Runner

# 列出当前项目的所有 Runner
glab runner list

# 列出指定项目的 Runner
glab runner list --repo owner/project

# 列出所有 Runner(实例级别,仅管理员可用)
glab runner list --all

# 以 JSON 格式输出
glab runner list --output json

# 分页查看
glab runner list --page 2 --per-page 50

JSON 输出解析示例:

# 查找所有已暂停的 Runner
glab runner list --output json | python3 -c "
import sys, json
runners = json.load(sys.stdin)
paused = [r for r in runners if r.get('paused')]
for r in paused:
    print(f\"{r['id']}: {r.get('description','(no description)')} — {r.get('status')}\")
"

暂停 Runner

暂停 Runner 可以阻止它接收新作业,但不会将其移除。

# 暂停 Runner 123
glab runner pause 123

# 在指定项目上下文中暂停
glab runner pause 123 --repo owner/project

适合暂停的场景:

  • 维护窗口期(更新、重启)
  • 排查故障 Runner
  • 临时减少 Runner 容量
  • 退役前(先确认没有正在运行的作业)

删除 Runner

# 删除(会有确认提示)
glab runner delete 123

# 跳过确认直接删除
glab runner delete 123 --force

# 在指定项目上下文中删除
glab runner delete 123 --repo owner/project

⚠️ 删除操作不可恢复。 如果不确定,请先暂停。

决策树:暂停 vs 删除

是否需要永久移除该 Runner?
├─ 否 → 暂停它(可恢复)
└─ 是 → 它当前是否正在运行作业?
          ├─ 是 → 先暂停,等作业完成后再删除
          └─ 否 → 使用 --force 直接删除

Runner 状态参考

状态含义
online已连接,准备接收作业
offline未连接(检查 Runner 进程)
paused已连接但不接收新作业
stale最近 3 个月无通信

故障排查

"runner: command not found":

  • 需要 glab v1.87.0 或更高版本。使用 glab version 检查。

实例级别 Runner 出现 "Permission denied":

  • 实例级别的 Runner 管理需要 GitLab 管理员权限。
  • 项目 Runner 可以由项目维护者管理。

Runner 无法暂停:

  • 使用 glab runner list 确认 Runner ID。
  • 检查权限(至少需要项目的 Maintainer 角色)。

暂停后 Runner 仍显示 "online":

  • Runner 进程仍在主机上运行——只是不再接收新作业。
  • 这是正常现象。如需完全停止,请通过 SSH 登录 Runner 主机并停止进程。

无法删除 Runner:

  • Runner 可能是共享/群组级别的(需要更高权限)。
  • 检查 Runner 是否被分配给多个项目;从一个项目移除可能需要项目级别删除而非实例级别删除。

为项目分配/取消分配 Runner(v1.88.0+)

将已有的 Runner 分配给项目,使其可以接收作业:

# 将 Runner 分配给当前项目
glab runner assign <runner-id>

# 分配给指定项目
glab runner assign <runner-id> --repo owner/project

从项目中移除 Runner(不会删除该 Runner):

# 从当前项目取消分配
glab runner unassign <runner-id>

# 从指定项目取消分配
glab runner unassign <runner-id> --repo owner/project

注意: 分配/取消分配 Runner 至少需要项目的 Maintainer 角色。这与 glab runner delete(永久删除 Runner)不同。

相关技能

  • glab-runner-controller — 管理 Runner 控制器和编排(仅管理员,实验性功能)
  • glab-ci — 查看和管理 CI/CD 流水线与作业
  • glab-job — 重试、取消、追踪单个作业的日志

v1.88.0 变更

  • 新增 glab runner assign <runner-id> — 将 Runner 分配给项目
  • 新增 glab runner unassign <runner-id> — 从项目取消分配 Runner

命令参考

glab runner <command> [--flags]

Commands:
  list      Get a list of runners available to the user
  assign    Assign a runner to a project (v1.88.0+)
  unassign  Unassign a runner from a project (v1.88.0+)
  pause     Pause a runner
  delete    Delete a runner

Flags (list):
  --all          List all runners (instance-level, admin only)
  --output       Format output as: text, json
  --page         Page number
  --per-page     Number of items per page
  --repo         Select a repository
  -h, --help     Show help

Flags (pause / delete):
  --force        Skip confirmation prompt (delete only)
  --repo         Select a repository
  -h, --help     Show help

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.