基于gitlab 12.8.0版本的完整镜像过程

目前已在一台服务器上安装了gitlab 12.8.0,并且稳定运行了有几年了,其上面也创建了大量的项目。目前要求对该gitlab及其上面的所有仓库做一个完整的镜像。具体操作过程如下:

1、确认现有的gitlab的版本号

2、到gitlab官网下载相同版本号的gitlab安装包,下载地址:ubuntu/bionic/gitlab-ce_12.8.0-ce.0_amd64.deb - gitlab/gitlab-ce · packages.gitlab.com​​​​​​​

3、在新的服务器上下载安装包:

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_12.8.0-ce.0_amd64.deb/download.deb --no-check-certificate

4、安装

dpkg -i gitlab-ce_12.8.0-ce.0_amd64.deb

5、对gitlab进行配置

执行:vi /etc/gitlab/gitlab.rb

对external_url进行设置

执行:sudo gitlab-ctl reconfigure ,等待执行完成

6、通过浏览器打开新安装的gitlab

http://ip,端口号默认80,打开后可以设置密码

新服务器上的gitlab安装完成,下面开始镜像原来的gitlab仓库

1、在原gitlab服务器上执行:gitlab-backup create 或者仓库比较大的话,可以在后台执行:nohup gitlab-backup create &

备份成功后,文件放在:/var/opt/gitlab/backups

2、将备份文件 xxx.tar 复制到新服务器:scp xxx.tar user@ip:/var/opt/gitlab/backups

3、在新服务器上执行:chmod a+r 1704341329_2024_01_04_12.8.0_gitlab_backup.tar,增加可读权限。

在新服务器执行还原指令:gitlab-backup restore BACKUP=1704341329_2024_01_04_12.8.0 ,注意结尾没有_gitlab_backup.tar

4、还原完成

5、两行红字说,gitlab.rb和gitlab-secrets.json包含敏感信息,并没有在备份文件中,可以手动将文件从原服务器复制到新服务器上。文件位置在:/etc/gitlab/ 中

6、文件复制过去之后,需要执行:sudo gitlab-ctl reconfigure 进行重新配置

7、完成

相关推荐
daemon.qiang1 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li6 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨8 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨8 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐11 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li11 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐12 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵13 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐13 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐13 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo