当前位置: 首页 > news >正文

GitLab 备份所有仓库(自动克隆)

一、准备工作

1. 环境要求

  • 已安装 Git(版本 2.10+)
  • 本地磁盘空间充足(根据仓库总大小预估)
  • 已配置 SSH 密钥到 GitLab(推荐方式)

2. 获取 GitLab API 访问权限

  1. 登录 GitLab,点击右上角头像 → Settings
  2. 左侧菜单选择 Access Tokens
  3. 创建 Token:
    • 名称:如 backup
    • 权限:至少勾选 api
    • 记录生成的 Token(仅显示一次)

二、克隆全部仓库的方法

使用 Shell 脚本


#!/bin/bash
GITLAB_URL="http://192.168.0.224:1110"
TOKEN="glpat-N9HX9-XUpbErhxnB9311"
TARGET_DIR="/media/nihao/gitcore/gitlab_repos"mkdir -p $TARGET_DIR && cd $TARGET_DIR
curl -s --header "PRIVATE-TOKEN: $TOKEN" "$GITLAB_URL/api/v4/projects?per_page=1000" | jq -r '.[].ssh_url_to_repo' |while read repo; dogit clone --mirror "$repo"done

执行步骤:

  1. 保存脚本为 clone_all.sh
  2. 安装依赖工具:
    sudo apt install jq  # Ubuntu/Debian
    
  3. 修改脚本中的 GITLAB_URL 和 TOKEN, TARGET_DIR是保存的本地路径
  4. 执行脚本:
    chmod +x clone_all.sh
    ./clone_all.sh

三、ip地址变更(其他)

        gitlab服务器更换新的ip地址后,拉取代码的地址ip没有自动改变,会导致无法拉取代码。解决方法四修改下配置文件中的ip地址即可。

  • 修改gitlab配置文件gitlab.yml

        vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  • 修改gitlab.rb

        vi /etc/gitlab/gitlab.rb

  • 重启gitlab服务

        sudo gitlab-ctl restart

四、声明

        本文档旨在提供技术参考,由于技术更新迭代快且编者水平有限,内容可能存在疏漏或表述不当之处。
        若您在阅读过程中发现任何错误、疑问或改进建议,欢迎评论

        我将及时核实并优化内容,感谢您的支持与包容!

http://www.xdnf.cn/news/580303.html

相关文章:

  • OceanBase数据库全面指南(查询进阶篇DQL)
  • XXE(外部实体注入)
  • 创建信任所有证书的HttpClient:Java 实现 HTTPS 接口调用,等效于curl -k
  • 【Linux学习笔记】ext2文件系统的深度剖析
  • 微软CTO:AI已经“能力过剩”,行业需要努力缩小模型能力与实际产品交付之间的差距
  • rt-linux下的底层锁依赖因cgroup cpu功能导致不相干进程的高时延问题
  • 边缘计算是什么?逻辑视域下的边缘计算:分布式计算范式的理论基础与逻辑结构分析
  • SQL的RAND用法和指定生成随机数的范围
  • MySQL中InnoDB引擎逻辑存储结构、B+树索引结构、B+树高度及存储数据量
  • 从零基础到最佳实践:Vue.js 系列(8/10):《性能优化与最佳实践》
  • 借助Azure AI Foundry 如何打造语音交互新体验
  • 结构型:适配器模式
  • K8S之核心技术Helm
  • 谷歌medgemma-27b-text-it医疗大模型论文速读:面向医学视觉问答的语义标签知识增强数据集SLAKE
  • 【Linux】进程间通信(四):System V标准(共享内存、消息队列、信息量)
  • [Git] 认识 Git 的三大区域 文件的修改和提交
  • linux杀死进程自身
  • Docker实战
  • docker network 自定义网络配置与管理指南
  • 数字孪生技术如何重塑能源产业?
  • 生成树协议(STP)配置详解:避免网络环路的最佳实践
  • java基础(api)
  • 第八天的尝试
  • 印度语言指令驱动的无人机导航!UAV-VLN:端到端视觉语言导航助力无人机自主飞行
  • AllToAll通信为什么用于EP并行?
  • Linux性能监控工具nmon
  • 【开源解析】基于深度学习的双色球预测系统:从数据获取到可视化分析
  • Axure系统原型设计首页模版方案
  • InetAddress 类详解
  • AI大模型技术全景解析:核心原理与关键技术拆解