目录
sudo yum install -y curl policycoreutils-python openssh-server cronie
https://packages.gitlab.com/gitlab/gitlab-ce
1.安装gitlab
方法一、设置gitlab的yum源(使用清华镜像源安装GitLab)
在 /etc/yum.repos.d/ 下新建 gitlab-ce.repo,写入如下内容:
#cd /etc/yum.repos.d/
#vim gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
#yum clean all && yum makecache
# 直接安装最新版
yum install -y gitlab-ce
# 如果要安装指定的版本,在后面填上版本号即可
yum install -y gitlab-ce-×××
# 如果安装时出现gpgkey验证错误,只需在安装时明确指明不进行gpgkey验证
yum install gitlab-ce -y --nogpgcheck
方法二、离线安装
1.安装git依赖
sudo yum install -y curl policycoreutils-python openssh-server cronie
2.官网下载对应的gitlab-ce离线包
https://packages.gitlab.com/gitlab/gitlab-ce
3. 下载到安装目录,进行安装
rpm -ivh gitlab-ce-版本号-ce.0.el6.x86_64.rpm
2.修改配置文件
vim /etc/gitlab/gitlab.rb 进入配置文件
保存退出后重新加载配置
gitlab-ctl reconfigure
配置默认访问密码
切换到命令运行的目录 cd /opt/gitlab/bin/
执行如下命令:gitlab-rails console -e production 进行初始化密码
在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
gitlab-rails console -e production
u=User.where(id:1).first
u.password='zxc,.123'
u.password_confirmation='zxc,.123'
u.save!
exit
出现true说明设置成功!
此时就可以用root/zxc,.123来登录页面
启动gitlab
gitlab-ctl start
!!注意要给防火墙开配置文件里的url的端口,我是直接禁用的防火墙
根据配置文件里的url。使用浏览器即可访问
二、修改gitlab存储目录
gitlab的目录存储目录是 /var/opt/gitlab/git-data/
创建新存储目录
mkdir -p /data/gitlab-data
修改配置文件(找到 git_data_dirs 参数对应的配置)
vim /etc/gitlab/gitlab.rb
git_data_dirs({
“default” => {
“path” => “/data/git-data”
}
})
重新加载配置
gitlab-ctl reconfigure
三、gitlab备份及数据恢复
一、Gitlab的备份目录路径设置
Gitlab的备份目录可以在Gitlab的配置文件中设置:
vim /etc/gitlab/gitlab.rb
#修改如下:
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups" //gitlab备份目录
gitlab_rails['backup_archive_permissions'] = 0644 //生成的备份文件权限
gitlab_rails['backup_keep_time'] = 604800 //默认备份保留天数为7天(这里是604800秒)
创建备份目录
mkdir -p /data/gitlab/backups
chown -R git:git /data/gitlab/backups
最后使用下面命令重载gitlab配置文件,使上述修改生效!
gitlab-ctl reconfigure
二、GItlab的备份
手动使用命令备份gitlab
gitlab-rake gitlab:backup:create
然后加入到crontab中
0 2 * * * gitlab-rake gitlab:backup:create > /dev/null 2>&1
三、Gitlab的恢复
在备份 GitLab 之前停止 unicorn 和 sidekiq 服务是为了确保备份过程中数据的一致性和完整性。这两个服务分别负责处理 Web 请求和后台任务。停止它们可以确保在备份过程中没有新的数据写入或修改,从而避免备份过程中出现数据不一致的情况。
gitlab-ctl stop unicorn && gitlab-ctl stop sidekiq
通过之前的备份文件进行恢复(这里备份路径我自定义的/data/gitlab/backups,默认的是/var/opt/gitlab/backups)
Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复
gitlab-rake gitlab:backup:restore BACKUP=/data/gitlab/backups/1709023711_2024_02_27_15.11.12