环境:CentOS 7
Gitlab版本:13.7.1 (版本列表: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum el6-CentOS6 el7-CentOS7 el8-CentOS8)

  1. 安装相关依赖
sudo yum install -y curl policycoreutils-python openssh-server

说明 本教程中示例场景的操作系统为CentOS 7 64位。如果您使用CentOS 8系统,
运行以上命令将出现找不到依赖包policycoreutils-python的问题,原因是CentOS
8的软件源中没有包含该依赖包。该依赖包不影响部署GitLab,您可以忽略该问题继续运行下文中的命令。

  1. 添加GitLab软件包仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  1. 安装GitLab
sudo yum install -y gitlab-ce-13.7.1-ce.0.el7.x86_64
  1. 修改GilLab服务配置文件
vi /etc/gitlab/gitlab.rb

相关内容修改如下:

external_url ‘http://192.16.0.11:8888’
gitlab_rails[‘backup_path’] = “/data/gitlab/backups”

  1. 重新初始化配置并重启服务
gitlab-ctl reconfigure
gitlab-ctl restart
  1. 设置服务开机自启动
systemctl enable gitlab-runsvdir.service
  1. 设置语言为简体中文
    在这里插入图片描述
    【可选】 8. Gitlab配置邮件通知 (smtp方式)
vi /etc/gitlab/gitlab.rb

修改内容:
在这里插入图片描述
81行:smtp服务器地址
83行:邮箱地址
85行:自定义?
86行:有授权码可能填写自己的授权码,否则在84行使用密码

【可选】9. 自动备份

防止Gitlab服务器硬盘、服务异常等问题导致代码丢失,建议开启自动备份并将备份文件备份保存到远程文件服务器上,以下配置供参考。

(1)修改Gitlab配置文件中关于备份相关的配置信息

sudo vi /etc/gitlab/gitlab.rb

将以下内容的注释去掉:

gitlab_rails['manage_backup_path'] = ture
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

其中/var/opt/gitlab/backups可以修改为自己要存放备份文件的路径

将以下内容的注释去掉:

gitlab_rails['backup_keep_time'] = 604800

可以将”604800“改成自己想要的保存时间,这里单位是秒,604800表示一周,即备份文件最多将被保存一周。

(2)更新Gitlab配置

sudo gitlab-ctl reconfigure

(3)编写备份脚本

touch /opt/gitlab/backup.sh  #若没有相关父级目录,请提前自行创建

backup.sh脚本文件内容如下:

gitlab-rake gitlab:backup:create #gitlab备份命令
scp -r /var/opt/gitlab/backups $user@$ip:$dir #远程文件拷贝命令,这里我是利用scp将备份文件拷贝到了远程文件服务器,需提前配置好ssh密钥,ssh的配置流程就不在这里说明了。

$user: 远程服务器用户
$ip: 远程服务器IP
$dir: 要拷贝到的远程服务器目录

为文件添加可执行权限:

chmod +x /opt/gitlab/backup.sh

(4)脚本运行测试

sh /opt/gitlab/backup.sh

脚本执行完成后若/var/opt/gitlab/backups目录下、远程文件服务器相应备份目录下出现相应备份文件(tar文件),则脚本编写正确。

(5)设置定时器

这里设置每天凌晨0点进行Gitlab备份:

sudo echo "0 0 * * * root /opt/gitlab/backup.sh -D 1" >> /etc/crontab
sudo service cron restart
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐