安装gitlab

说明:

1、linux安装gitlab

2、gitlab路径迁移

3、gitlab数据备份和恢复

4、gitlab备份配置文件

一、安装gitlab

1、下载gitlab包

rpm地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

2、安装gitlab

powershell 复制代码
1、安装gitlab
yum -y install policycoreutils-python
rpm -ivh gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm

版本: gitlab-ce-13.9.7

2、修改gitlab配置文件
[ ! -f /etc/gitlab/gitlab.rb.bak ] && /bin/cp -av /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
vim /etc/gitlab/gitlab.rb

external_url 'http://ip:7005'

# 修改gitlab备份路径、保存15天
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab-back"

## Limit backup lifetime to 12 days - 1036800 seconds
gitlab_rails['backup_keep_time'] = 1036800

gitlab_rails['backup_archive_permissions'] = 0644


3、创建文件夹
mkdir -p /data/gitlab
mkdir -p /data/gitlab-back
chown -R git:git /data/gitlab-back
ln -sv /data/gitlab /var/opt/
chmod 755 /data/gitlab*

4、导入配置文件
gitlab-ctl reconfigure

说明:
a、更改了默认数据存储路径,导入配置文件报错,所以通过软连接方式解决
b、如果gitlab已经运行,需要更改默认存储路径,导入配置文件访问找不到数据。

5、启动gitlab
gitlab-ctl start
gitlab-ctl status

5、访问gitlab
http://172.16.2.9:7005/

账号:root
密码:Gitlab+2024

二、备份gitlab数据

说明:

1、如果gitlab配置文件使用默认配置文件路径,备份文件存储在默认路径

powershell 复制代码
1、创建文件夹
mkdir -p /data/solution/

2、编写shell脚本
vi /data/solution/gitlab-backup.sh

#! /bin/bash

set -e

# 定义变量
conf_path="/data/gitlab-conf"
db_date=`date '+%Y%m%d%H%M'`

# 创建文件夹
mk_data(){
  if [ ! -d ${conf_path} ];then
    echo "创建文件夹中..."
    mkdir -p ${conf_path}
  else
    echo "该文件夹已存在"
  fi
}

# 备份gitlab
zip_data(){
  /usr/bin/gitlab-rake gitlab:backup:create CRON=1
  sleep 1
  
  # 备份gitlab配置文件
  tar -zcvf ${conf_path}/gitlab-conf-${db_date}.tgz /etc/gitlab
  
  # 删除30天前文件
  find ${conf_path} -name "*.tgz" -mtime +30 -type f  -exec rm -f {} \;
}

mk_data
zip_data


2、添加定时任务
# 每天凌晨备份数据
01 0,12 * * * /usr/bin/bash /data/solution/gitlab-backup.sh &

三、gitlab数据恢复

说明:

1、gitlab版本必须要保持一致,否则会报错

powershell 复制代码
1、恢复之前先停止服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status

2、开始恢复数据
cd /data/gitlab-back
gitlab-backup restore BACKUP=1724137663_2024_08_20_13.9.7 force=yes

[root@jenkins gitlab]# cd /data/gitlab-back/
[root@jenkins gitlab-back]# ls
1724137663_2024_08_20_13.9.7_gitlab_backup.tar
[root@jenkins gitlab-back]# gitlab-backup restore BACKUP=1724137663_2024_08_20_13.9.7 force=yes

Unpacking backup ... done
2024-08-23 15:02:04 +0800 -- done
2024-08-23 15:02:04 +0800 -- Restoring uploads ... 
2024-08-23 15:02:04 +0800 -- done
2024-08-23 15:02:04 +0800 -- Restoring builds ... 
2024-08-23 15:02:04 +0800 -- done
2024-08-23 15:02:04 +0800 -- Restoring artifacts ... 
2024-08-23 15:02:04 +0800 -- done
2024-08-23 15:02:04 +0800 -- Restoring pages ... 
2024-08-23 15:02:05 +0800 -- done
2024-08-23 15:02:05 +0800 -- Restoring lfs objects ... 
2024-08-23 15:02:05 +0800 -- done
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data 
and are not included in this backup. You will need to restore these files manually.
Restore task is done.

说明:出现这些done提示,导入gitlab数据完成

3、重启服务
gitlab-ctl restart

4、验证gitlab
http://172.16.2.9:7005

账号:root
密码:xxxx
相关推荐
岱宗夫up1 分钟前
基于ROS的视觉导航系统实战:黑线循迹+激光笔跟随双模态实现(冰达机器人Nano改造)
linux·python·机器人·ros
eWidget2 分钟前
Shell输入输出(一):echo/printf输出,格式控制与颜色设置
运维·数据库·运维开发
b***251122 分钟前
动力电池点焊工艺解析
运维·自动化
开开心心_Every1 小时前
PDF转图片工具推荐:免费支持批量转换
linux·运维·服务器·spring boot·edge·pdf·powerpoint
春日见1 小时前
Docker中如何删除镜像
运维·前端·人工智能·驱动开发·算法·docker·容器
郝学胜-神的一滴1 小时前
Python中的with语句与try语句:资源管理的两种哲学
linux·服务器·开发语言·python·程序人生·算法
云智慧AIOps社区1 小时前
云智慧Cloudwise X1 轮足机器人重磅发布:跨楼层全自动巡检,重塑数据中心运维范式
运维·人工智能·机器人·自动化
zhangrelay2 小时前
如何让手机电脑流畅飞起低碳节能性能拉满-软件安装篇-ESR-Extended Support Release-延长支持版-LTS
linux·运维·笔记·学习
SmartRadio2 小时前
基于RK3568实现多电脑KVM共享方案(HDMI采集+虚拟USB键鼠+无缝切换+剪贴板/文件共享)
运维·服务器·网络·电脑·kvm·rk3568
JiMoKuangXiangQu2 小时前
Linux eBPF 案例:sk_filter 读取 IP 地址崩溃
linux·ebpf·sk_filter