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

GitLab14.3.2-ee如何查询所有已启用镜像功能的代码仓库

GitLab 14.3.2-ee 查询所有启用镜像功能项目的操作方案

方法一:服务器端Rails控制台直接查询(推荐,操作最快)

你可以直接登录GitLab部署的服务器,通过自带的Rails控制台执行查询语句,一次性导出所有符合要求的项目:

  • 执行命令进入Rails控制台:
    gitlab-rails console
  • 执行以下查询语句,直接输出所有启用了拉取/推送镜像的项目信息:
    Project.all.each do |proj|
      has_pull_mirror = proj.mirror
      has_push_mirror = proj.remote_mirrors.where(enabled: true).exists?
      next unless has_pull_mirror || has_push_mirror
      puts "项目ID:#{proj.id} | 项目路径:#{proj.path_with_namespace} | 拉取镜像启用:#{has_pull_mirror} | 推送镜像启用:#{has_push_mirror}"
    end
    
  • 执行完成后你可以直接把输出结果复制出来整理,快速定位所有已经配置镜像的项目。

方法二:通过GitLab API批量查询(无需登录服务器)

如果你不方便登录GitLab服务器,可以用管理员权限的API凭证批量拉取项目配置校验:

  • 先在管理员账号下生成个人访问令牌(PAT),授予read_api、read_project权限
  • 调用GET /projects接口分页拉取所有项目的ID和路径信息
  • 对每个项目分别调用两个接口校验镜像状态:
    • 拉取镜像状态:GET /projects/:id,返回参数中mirror值为true即已启用
    • 推送镜像状态:GET /projects/:id/remote_mirrors,返回列表中存在enabled为true的条目即已启用
  • 你可以写简单的遍历脚本完成批量校验,不需要手动进入每个项目的配置页检查。

替换凭证的补充建议

你后续要统一替换为Azure的共享凭证时,建议先备份所有原有镜像的配置信息,再批量更新凭证,避免操作异常导致镜像同步中断。


内容的提问来源于stack exchange,提问作者Daniel Procházka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:48:05