You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将GitLab Runner服务器的20个Runner重新注册到新自管理GitLab实例?

GitLab Runner批量迁移到新实例的解决方案

核心结论

可以批量更新注册令牌完成迁移,不需要逐个手动重新注册,同时你的Runner版本(16.4)和新GitLab实例版本(EE 16.3.4)是兼容的(GitLab允许Runner版本比实例高1个次要版本),无需降级。

关于gitlab-runner reset-token的作用

这个命令不能直接帮你切换到新GitLab实例,它的用途是:针对同一个GitLab实例,当某个Runner的注册令牌过期、失效时,重新获取并更新该Runner配置里的令牌,让它能重新连接原实例。因为新实例的注册令牌和原实例完全独立,所以这个命令对你的迁移场景没用。

批量迁移的具体操作

方法1:批量修改Runner配置文件(推荐)

所有Runner的配置都存在/etc/gitlab-runner/config.toml(默认路径)里,每个[[runners]]块对应一个Runner。你只需批量修改两个关键字段:

  1. url:替换为新GitLab实例的地址(比如url = "https://new-gitlab.your-domain.com/")
  2. token:替换为新实例对应层级的注册令牌(实例级、组级或项目级,根据你原来的Runner注册层级选择)

批量修改技巧:

  • 用sed批量替换地址:
    sudo sed -i 's/https://old-gitlab.your-domain.com/https://new-gitlab.your-domain.com/g' /etc/gitlab-runner/config.toml
    
  • 如果所有Runner都用同一个新令牌(比如实例级或同一组),批量替换令牌:
    sudo sed -i 's/old-runner-token-string/new-registration-token/g' /etc/gitlab-runner/config.toml
    
  • 如果每个Runner需要对应不同项目的令牌,可直接打开config.toml用编辑器批量替换,或者写个简单脚本遍历修改。

修改完成后重启Runner服务:

sudo gitlab-runner restart

方法2:用脚本批量重新注册

如果你不想手动改配置文件,可以写个shell脚本循环调用注册命令,批量生成新的Runner配置:

# 配置新实例信息
NEW_GITLAB_URL="https://new-gitlab.your-domain.com/"
NEW_TOKEN="你的新注册令牌"
# 按原Runner的描述和标签填写,顺序对应
RUNNER_NAMES=("Build-Runner-1" "Test-Runner-2" "Deploy-Runner-3")
RUNNER_TAGS=("build,nodejs" "test,python" "deploy,k8s")
RUNNER_EXECUTOR="docker" # 根据你的实际执行器修改,比如shell、kubernetes

for idx in "${!RUNNER_NAMES[@]}"; do
  gitlab-runner register \
    --non-interactive \
    --url "$NEW_GITLAB_URL" \
    --registration-token "$NEW_TOKEN" \
    --description "${RUNNER_NAMES[$idx]}" \
    --tag-list "${RUNNER_TAGS[$idx]}" \
    --executor "$RUNNER_EXECUTOR"
done

注意:这种方式会在config.toml里新增新的Runner条目,若不需要旧配置,可先备份后删除原config.toml再执行脚本。

验证迁移结果

重启后,在新GitLab实例的Admin → Runners页面检查所有Runner是否显示为在线状态,也可以在Runner服务器上执行:

gitlab-runner verify

确认所有Runner都能正常连接新实例。

内容的提问来源于stack exchange,提问作者foad322

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:25:15