协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
glab-runner【开发与工程】Manage GitLab CI/CD runners — list, assign, unassign, pause, and delete runners at project, group, or instance level. Use when viewing runner status, assigning runners to projects, temporarily pausing a runner, or removing a decommissioned runner. Triggers on runner, glab runner, list runners, assign runner, unassign runner, pause runner, delete runn…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Manage GitLab CI/CD runners from the command line.
Added in glab v1.87.0
# List runners for current project
glab runner list
# Pause a runner
glab runner pause <runner-id>
# Delete a runner
glab runner delete <runner-id>
# List all runners for current project
glab runner list
# List for a specific project
glab runner list --repo owner/project
# List all runners (instance-level, admin only)
glab runner list --all
# Output as JSON
glab runner list --output json
# Paginate
glab runner list --page 2 --per-page 50
Sample JSON output parsing:
# Find all paused runners
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')}\")
"
Pausing a runner prevents it from picking up new jobs without removing it.
# Pause runner 123
glab runner pause 123
# Pause in a specific project context
glab runner pause 123 --repo owner/project
When to pause:
# Delete with confirmation prompt
glab runner delete 123
# Delete without confirmation
glab runner delete 123 --force
# Delete in a specific project context
glab runner delete 123 --repo owner/project
⚠️ Deletion is permanent. Pause first if unsure.
Do you need the runner gone permanently?
├─ No → Pause it (recoverable)
└─ Yes → Is it actively running jobs?
├─ Yes → Pause first, wait for jobs to finish, then delete
└─ No → Delete with --force
| Status | Meaning |
|---|---|
online | Connected and ready to accept jobs |
offline | Not connected (check runner process) |
paused | Connected but not accepting new jobs |
stale | No contact in the last 3 months |
"runner: command not found":
glab version."Permission denied" on instance-level runners:
Runner won't pause:
glab runner list.Runner stuck "online" after pause:
Cannot delete runner:
Assign an existing runner to a project so it can pick up jobs:
# Assign a runner to the current project
glab runner assign <runner-id>
# Assign to a specific project
glab runner assign <runner-id> --repo owner/project
Remove a runner from a project (does not delete the runner):
# Unassign from current project
glab runner unassign <runner-id>
# Unassign from a specific project
glab runner unassign <runner-id> --repo owner/project
Note: Assigning/unassigning requires at least Maintainer role on the project. This is different from glab runner delete which permanently removes the runner.
glab-runner-controller — Manage runner controllers and orchestration (admin-only, experimental)glab-ci — View and manage CI/CD pipelines and jobsglab-job — Retry, cancel, trace logs for individual jobsglab runner assign <runner-id> — assign a runner to a projectglab runner unassign <runner-id> — unassign a runner from a projectglab 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