目录
一、安装配置gitlab
安装
安装依赖,并启动ssh、防火墙开启相应端口、postfix
yum install -y curl policycoreutils-python openssh-server perl
gitlab版本选择地 Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 选择对应的版本安装动
yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm
安装完成后他会自动启动
初始化
vim /etc/gitlab/gitlab.rb
#找到下行并修改自己的ip
external_url 'http://10.12.153.72'
执行下面的初始化命令
gitlab-ctl reconfigure
这里初始化完成以后需要记住一个初始密码
cat /etc/gitlab/initial_root_password
查看状态
gitlab-ctl status
二、使用浏览器访问,进行web界面操作
输入账号密码登录
登陆以后我们首先修改为中文,点击头像,点击参数中设置
选择中文后提交并刷新页面
这样看来就一目了然了哈
三、gitlab 命令行修改密码
四、gitlab服务管理
五、公司的开发代码提交处理流程
六、Gitlab 备份与恢复
1、查看系统版本和软件版本
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.15.4
2、数据备份
打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:
gitlab_rails['backup_path'] = "/data/gitlab/backups"
该项定义了默认备份出文件的路径,可以通过修改该配置,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。
执行备份命令进行备份
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
也可以添加到 crontab 中定时执行:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
可以到/data/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。
设置备份保留时常,防止每天执行备份,肯定有目录被爆满的风险,打开/etc/gitlab/gitlab.rb配置文件,找到如下配置:
gitlab_rails['backup_keep_time'] = 604800
设置备份保留7天(7360024=604800),秒为单位,如果想增大或减小,可以直接在该处配置,并通过gitlab-ctl restart 重启服务生效。
备份完成,会在备份目录中生成一个当天日期的tar包。
3、测试数据恢复
(1) 安装部署 gitlab server
具体步骤参见上面:gitlab server 搭建过程
(2) 恢复 gitlab
打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:
gitlab_rails['backup_path'] = "/data/gitlab/backups"
修改该配置,定义了默认备份出文件的路径,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。
恢复前需要先停掉数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
如果是台新搭建的主机,不需要操作,理论上不停这两个服务也可以。停这两个服务是为了保证数据一致性。将老服务器/data/gitlab/backups目录下的备份文件拷贝到新服务器上的/data/gitlab/backups
rsync -avz 1530773117_2019_03_05_gitlab_backup.tar 192.168.95.135:/data/gitlab/backups/
注意权限:600权限是无权恢复的。 实验环境可改成了777,生产环境建议修改属主属组
pwd
/data/gitlab/backups
chmod 777 1530773117_2019_03_05_gitlab_backup.tar
ll
total 17328900
-rwxrwxrwx 1 git git 17744793600 Jul 5 14:47 1530773117_2018_07_05_gitlab_backup.tar
执行下面的命令进行恢复:后面再输入两次yes就完成恢复了。
gitlab-rake gitlab:backup:restore
BACKUP=1530773117_2018_07_05_gitlab_backup.tar
恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问,发现数据和之前的一致:
gitlab-ctl start unicorn
gitlab-ctl start sidekiq
或
gitlab-ctl restart
注意:通过备份文件恢复gitlab必须保证两台主机的gitlab版本一致,否则会提示版本不匹配
希望能够帮助到大家!!