##安装依赖
yum install -y curl policycoreutils-python openssh-server perl
#上传包
rz
gitlab-jh-16.5.2-jh.0.el7.x86_64.rpm
安装
yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm
初始化并启动
# 以下两种方法都可以配置访问地址,第一种需要在yum安装前配置
[root@gitlab ~]# export EXTERNAL_URL='http://192.168.134.166'
或
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.249.156'
[root@gitlab ~]# gitlab-ctl reconfigure
相关操作:
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
gitlab-ctl reconfigure # 启动服务;
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-ctl tail # 查看日志;
登录 gitlab 如下所示(首次登陆设置 root 密码):
> 密码存放在 /etc/gitlab/initial_root_password 文件中,该文件会在24小时后删除
在命令行修改密码
gitlab-rails console production
irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
irb(main):002:0>user.password = 'yourpassword' # 密码必须至少8个字符
irb(main):003:0>user.save! # 如没有问题 返回true
exit # 退出
在服务器上创建ssh密钥 使用ssh-keygen 命令,复制/root/.ssh/id_rsa.pub的内容。
[root@server02 ~]# vim /etc/gitlab/gitlab.rb
找到第84行 将注释打开,改成自己的邮箱以及授权码
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '[email protected]'
打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
该项定义了默认备份出文件的路径,可以通过修改该配置,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。
执行备份命令进行备份,备份的数据在/var/opt/gitlab/backups/下
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
恢复前需要先停掉数据连接服务
[root@server02 ~]# gitlab-ctl stop unicorn
[root@server02 ~]# gitlab-ctl stop sidekiq
如果是台新搭建的主机,不需要操作,理论上不停这两个服务也可以。停这两个服务是为了保证数据一致性。将老服务器/var/opt/gitlab/backups/目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups/;注意权限:600权限是无权恢复的。 实验环境可改成了777,生产环境建议修改属主属组。
[root@server02 backups]# rsync -avz 1700552082_2023_11_21_16.5.2-jh_gitlab_backup.tar 192.168.134.163:/var/opt/gitlab/backups/
[root@server03 backups]# pwd
/data/gitlab/backups
[root@server03 backups]# chmod 777 1700552082_2023_11_21_16.5.2-jh_gitlab_backup.tar
[root@server03 backups]# ll
total 17328900
-rwxrwxrwx 1 git git 17744793600 Jul 5 14:47 1700552082_2023_11_21_16.5.2-jh_gitlab_backup.tar
执行下面的命令进行恢复:后面再输入两次yes就完成恢复了。(复制到jh即可
)
[root@server03 backups]# gitlab-rake gitlab:backup:restore BACKUP=1700552082_2023_11_21_16.5.2-jh
恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问,发现数据和之前的一致:
[root@server03 backups]# gitlab-ctl start unicorn
[root@server03 backups]#gitlab-ctl start sidekiq
或
[root@server03 backups]# gitlab-ctl restart