ost*_*ach 42 gitlab-ci gitlab-ci-runner
几个月前我注册了一个个人 GitLab 运行器,但我不再使用它。如何完全删除它,使其不会显示在我的 GitLab CI/CD 设置页面上?
Ser*_*kov 39
列出跑步者以获取他们的令牌和 URL:
sudo gitlab-runner list
Run Code Online (Sandbox Code Playgroud)
使用指定运行者令牌和 URL 的删除选项进行验证:
sudo gitlab-runner verify --delete -t YMsSCHnjGssdmz1JRoxx -u http://git.xxxx.com/
Run Code Online (Sandbox Code Playgroud)
ost*_*ach 25
首先,转到 GitLab 设置页面并找到您要删除的 GitLab 运行程序的令牌(例如250cff81下图所示)和 ID(例如下图所示)。354472
gitlab-runnerCLI 取消注册运行器如果您有权访问用于注册 GitLab 运行程序的计算机,则可以使用以下命令取消注册运行程序,其中替换{TOKEN}为 GitLab 运行程序的令牌(例如250cff81在上面的示例中)。
gitlab-runner unregister --url https://gitlab.org/ --token {TOKEN}
Run Code Online (Sandbox Code Playgroud)
如果您无法再访问用于注册运行器的计算机,或者运行器与多个项目关联,则可以使用以下 Python 脚本。设置RUNNER_ID为您的跑步者的 ID(例如354472上面的示例)以及GITLAB_AUTH_TOKEN您可以从您的个人资料页面生成的 GitLab 令牌。
import os
import requests
GITLAB_AUTH_TOKEN = ...
RUNNER_ID = ...
headers = {"PRIVATE-TOKEN": GITLAB_AUTH_TOKEN}
r = requests.get(f"https://gitlab.com/api/v4/runners/{RUNNER_ID}", headers=headers)
runner_data = r.json()
for project in runner_data.get("projects", []):
r = requests.delete(
f"https://gitlab.com/api/v4/projects/{project['id']}/runners/{RUNNER_ID}",
headers=headers,
)
if not r.ok:
print("Encountered an error deleting runner from project:", r.json())
r = requests.delete(f"https://gitlab.com/api/v4/runners/{RUNNER_ID}", headers=headers)
if not r.ok:
print("Encountered an error deleting runner:", r.json())
Run Code Online (Sandbox Code Playgroud)
下面是删除离线运行程序的一行代码(适用于 GitLab 14.5):
curl --header "PRIVATE-TOKEN: <private_token>" "https://<your-instance-address>/api/v4/runners/all?scope=offline&per_page=100" | jq '.[].id' | xargs -I runner_id curl --request DELETE --header "PRIVATE-TOKEN: <private_token>" "https://<your-instance-address>/api/v4/runners/runner_id"
Run Code Online (Sandbox Code Playgroud)
如果您有超过 100 个离线跑步者 ( ),您可能会多次运行此操作per_page=100。
如果您在 Windows 上使用 bash(例如 git bash),请使用 sed从 jq 结果中删除尾随的 '\r' :
curl --header "PRIVATE-TOKEN: <private_token>" "https://<your-instance-address>/api/v4/runners/all?status=offline&per_page=100" | jq '.[].id' | sed 's/\r//' | xargs -I runner_id curl --request DELETE --header "PRIVATE-TOKEN: <private_token>" "https://<your-instance-address>/api/v4/runners/runner_id"
Run Code Online (Sandbox Code Playgroud)
注意:范围已被弃用,请使用状态代替。
在GitLab 15.5 (2022 年 10 月)中,您还可以使用 Web UI:
在管理区批量删除跑步者
当您需要可视化或管理大型数据集时,批量编辑是一项强大且有价值的功能。对于管理跑步者车队的管理员来说,缺乏批量删除选项会降低工作效率,并增加维护跑步者的运营开销。
现在,在管理区域中,您可以选择多个跑步者并同时删除它们。您还可以一次选择并删除整页跑步者。
| 归档时间: |
|
| 查看次数: |
75642 次 |
| 最近记录: |