基于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、完成

相关推荐
hanjq_code12 小时前
gitlab本地文件 跨分支 忽略改动 不提交
gitlab
极小狐14 小时前
极狐GitLab集群高可用方案,多节点架构与故障自愈实践
架构·gitlab·高可用·极狐gitlab
极小狐2 天前
极狐GitLab主备同步延迟治理,复制滞后监控与优化方法
gitlab·极狐gitlab·geo容灾
极小狐2 天前
跨项目流水线报 404 Not Found?CI_JOB_TOKEN 允许名单 9 步排查
ci/cd·gitlab·devops·权限管理·流水线·极狐gitlab·作业令牌
极小狐3 天前
极狐GitLab双机热备搭建指南,主机备机部署与切换实操
gitlab·高可用·极狐gitlab
有同事要进步9 天前
如何在github或者是gitlab上创建空文件
gitlab·github
GoodStudyAndDayDayUp10 天前
gitlab私有化跑CICD
gitlab·gitlab私有化跑cicd
成为你的宁宁10 天前
【Gitlab测试项目】
gitlab·devops
_可乐无糖13 天前
GitLab CI 脚本之 CI_COMMIT_AUTHOR
ci/cd·gitlab
_可乐无糖13 天前
GitLab CI 脚本之 dependencies 和 needs
ci/cd·gitlab