gitlab项目的备份与迁移

最近工作中需要用到gitlab项目的备份与迁移工作,因此做了一个简单的部署配置,这里小小记录一下。


一、gitlab的安装

1、安装准备

1、本人由于在centos7上部署gitlab,因此使用的gitlab的版本为 gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm,这里提供清华的镜像网站 https://mirrors.tuna.tsinghua.edu.cn/  。

这里我选择的是 gitlab-ce 社区版

2、进入后根据自身部署系统下载相应的安装包

3、因为我的centos版本为el7的版本,可在linux上使用 uname -a 命令查看:

4、进入el7文件夹后,可选择相应的版本下载,其它系统操作类似。

重点:因为本人之前使用的gitlab版本为 13.1.2 ,所以在需要恢复的服务器上也安装相同版本的gitlab,否则前者备份好的包无法在后者上进行恢复。

5、rpm 包的安装命令为: rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

2、安装配置必要的依赖

1、安装防火墙

yum install firewalld systemd -y

2、开启防火墙

service firewalld  start

3、安装SSH协议

yum install -y curl policycoreutils-python openssh-server

4、设置SSH服务开机自启动

systemctl enable sshd

5、启动SSH服务

systemctl start sshd

6、添加HTTP服务到firewalld

firewall-cmd --permanent --add-service=http

7、添加HTTPS服务到firewalld

firewall-cmd --permanent --add-service=https

8、重启防火墙

systemctl reload firewalld

9、安装Postfix以发送通知邮件

yum install postfix

10、将postfix服务设置成开机自启动

systemctl enable postfix

11、启动postfix

systemctl start postfix

二、gitlab的配置

1、gitlab配置

在gitlab 安装完毕之后,会默认在 /etc 下创建一个 gitlab 目录,配置文件也放在这里,如上图 gitlab.rb 文件。

打开配置文件进行修改:

## 修改访问的的路径,端口可加可不加,不加时在浏览器访问不需要添加端口
external_url 'http://192.168.2.163'## 备份路径,备份的包可放在自定义位置
gitlab_rails['backup_path'] = "/home/gitbackups"## 备份文件的生命周期,我这里设置了15天
gitlab_rails['backup_keep_time'] = 1296000

2、配置完毕之后,需要刷新配置信息

gitlab-ctl reconfigure

配置刷新后,会在 /var/opt/gitlab 目录下创建许多必要插件。

3、启动gitlab

gitlab-ctl start

三、gitlab创建备份

1、创建备份文件,首先进行老服务器上的gitlab备份,使用下方命令

gitlab-rake gitlab:backup:create

备份之后我的备份包还在 gitlab_rails['backup_path'] = “/home/gitbackups” 下,因为我在配置文件中已自定义,若无修改,则默认备份到 /var/opt/gitlab/backups 目录下,

2、自动备份设置

在 /etc 下有一个 crontab 文件,可以设置自动执行某些命令,每一行代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,每个字段之间用空格分割,没用的段用*代替,格式如下:

m h dom mon dow user command

修改之后重启crond服务,systemctl restart crond, 此后定时会生效。

具体cron写法可看 http://www.cnblogs.com/kaituorensheng/p/4494321.html

四、gitlab备份恢复

1、将老服务器上的备份包拷贝一份到新服务器的 gitlab_rails['backup_path'] = “/home/gitbackups”下,你配置文件中写的什么位置,拷贝过来的包就放在什么位置,并在新服务器上给其设置 777 权限,避免恢复过程中某些插件权限不够的情况。

chmod 777 xxxxxx.tar

2、执行命令停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

3、备份恢复

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

例如:我的备份包为 1618941697_2021_04_21_13.1.2_gitlab_backup.tar,那么备份文件编号就为 1618941697_2021_04_21_13.1.2,选整个文件名称没用。

gitlab-rake gitlab:backup:restore BACKUP=1618941697_2021_04_21_13.1.2

在恢复过程中会遇到两个交互界面,都输入 yes,之后就会安装成功。

4、访问新gitlab界面

查看 /etc/gitlab/gitlab.rb 文件中 external_url,直接访问该地址就能进入到首页。

5、密码修改

若访问页面忘记了账号和密码,可查看以下链接修改。

http://www.eryajf.net/5315.html

gitlab项目的备份与迁移相关推荐

  1. gitblit如何迁移入gitlab合并迁移_gitlab和gitlab项目迁移

    一.概述 原gitlab 操作系统:centos 6.9版本:GitLab 社区版10.5.1安装方式:yum 新gitlab 操作系统:centos 7.6版本:GitLab Community E ...

  2. gitLab数据备份和迁移

    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 一.gitlab备份 备份前gitlab的项目如图所示 ...

  3. gitlab安装--数据备份迁移恢复

    gitlab安装以及数据备份恢复 查看版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION centos 7.6 1.添加镜像地址 #版本1 ...

  4. Gitlab 项目迁移

    前言:用 gitLab 进行项目管理时,开发实践中进行项目迁移是常见的事情,也是作为一位开发者必备的技能. 方法一:旧地址导出,新地址导入. 参考:gitlab导出导入迁移 方法二:git 命令迁移, ...

  5. gitlab旧服务器备份迁移新服务器

    目录 旧服务器准备工作 新服务器准备工作 # gitlab旧服务器备份迁移新服务器 旧服务器准备工作 1. 查看gitlab版本号(保证两个服务器的gitlab版本一致)     ```     ca ...

  6. Gitlab调优-备份及恢复

    调优 gitlab是个内存老虎, 在使用32G无力内存的服务器中, 在默认配置下一直吃满内存, 甚至在使用过程中经常出现各种5xx错误, 然后一看剩余内存就仅剩几百兆...... 然后经过摸索, 终于 ...

  7. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  8. SVN仓库安装、备份和迁移基本操作

    SVN工作原理及配置 SVN的基本工作原理:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序.有源代码库管理员统一管理这些源程序.每个用户在使用源代码库之前,首先要把源代码库里的项目文 ...

  9. 项目级服务器数据迁移流程

    项目级服务器数据迁移流程 创建时间: 2022/09/24 更新时间: 2022/09/24 编辑: 徐俊杰 项目级服务器数据迁移流程 以下操作针对最终迁移目标为移动机房托管的硬件服务器,其它服务器进 ...

最新文章

  1. SpringBoot+Vue+Echarts实现双柱体柱状图
  2. hyperterminal使用教程_如何在Win7中安装使用超级终端Hyper Terminal(转)
  3. echart实例数据 本地加载_JVM 类加载概述
  4. Chrome Extension Dark Theme
  5. C#LeetCode刷题之#168-Excel表列名称(Excel Sheet Column Title)
  6. jsp 定义java类_在JSP中定义一个类
  7. 关于@Mapper注解的几个问题
  8. 从原理带你掌握Spring MVC拦截处理器知识
  9. 关于blog [转贴]来自网络
  10. onload、onunload 和 onbeforeunload的区别
  11. 思科交换机2950 强制恢复出厂设置(清密码)
  12. karto探秘之open_karto 第三章 --- 扫描匹配
  13. 怎么把手机字体改成繁体_如何把手机字体变成繁体 繁体字转换器
  14. 基于php的在线问卷调查系统
  15. Linux软链接的创建,删除,修改
  16. 我的世界做计算机运算原理,我的世界加法计算器原理解说及BCD全加器教程
  17. C++——EOF是个什么东西?
  18. php手册经常见到,什么是“二进制安全”?
  19. 华为云-计算云服务介绍
  20. 这5个摸鱼神器太火了!程序员:知道了快删!

热门文章

  1. 激励函数简介 Tensorflow最简单的三层神经网络及matplotlib可视化 附激励函数常见类型
  2. 2022年武汉经开区首次进入规模以上工业企业奖励资金申报条件时间及资料
  3. Spring_Ioc基本配置使用(基于xml)
  4. SwipeToLoadLayout布局中添加自定义控件仿美团、饿了吗等下拉效果
  5. 《D o C P》学习笔记(6 - 1)Word Games
  6. 【北邮国院大三上】电子商务法(e-commerce law)知识点整理——Banking Lawe-Payment
  7. golang中os/signal包的使用
  8. 我想要成为一个什么样的人
  9. 玩客云当打印机服务器,再玩一次机,我把玩客云改造成了群控系统!
  10. VB与数据库的几种交互