一、前期准备工作
1.下载安装包
下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
2.安装依赖
sudo yum install -y curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
#安装邮件服务器
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
#设置postfix开机自启动
sudo chkconfig postfix on
3.安装
将下载好的安装包上传到服务器,然后进行安装
rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
此时我们的gitlab就算安装成功了,接下来我们来配置gitlab
4.配置
rpm安装的时候默认安装到/opt目录下,为了防止以后项目过多导致磁盘空间不足,可以设置数据存放目录
vim /etc/gitlab/gitlab.rb
external_url ‘http://ip:端口’
gitlab_rails[‘gitlab_shell_ssh_port’] = 22022 //设置shell端口与登录一致
git_data_dirs({
“path” => "/mnt/nfs-01/git-data"是设置存放路径,可以修改为系统中磁盘空间较大的路径
如我的在/home/gitlab_data
“path” => “/home/gitlab_data”
还可以设置项目的访问路径
external_url ‘http://ip’
如果你shell的登陆端口修改过还需要修改shell端口和你登陆端口一致
gitlab_rails[‘gitlab_shell_ssh_port’] = 22011 //22011为我登陆的shell端口
gitlab默认端口为8080,如果被占用可以修改端口
nginx[‘listen_port’] = 8081
配置完成后启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
配置完毕后gitlab就自动启动了,此时我们访问ip,会进入到让我们重置密码的页面,我们来将密码进行重置
之后我们进行登录,默认账号为root,密码为刚重置的密码,成功登陆后,我们进入首页。
至此gitlab安装完成。
5.迁移
由于公司服务器更换,需要把原来服务器的数据迁移到新服务器
1.备份git服务器数据
gitlab-rake gitlab:backup:create RAILS_ENV=production
注:默认备份后文件一般位于/var/opt/gitlab/backups/,文件名字:
1565163295_2019_08_07_10.0.0_gitlab_backup.tar
2.新服务器上安装与原服务器一样版本的gitlab。
由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据.
查看版本信息
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
3.将生成的tar文件拷贝到新服务器对应的backups目录下
scp /var/opt/gitlab/backups/1565163295_2019_08_07_10.0.0_gitlab_backup.tar username@ip:/var/opt/gitlab/backups/
如果无法使用scp命令,可以通过xftp把文件上传和下载
4.新GitLab服务数据恢复
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1565163295_2019_08_07_10.0.0
5.重启gitlab服务并检测恢复数据情况
gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true
6.迁移之后克隆地址修改
vim /etc/gitlab/gitlab.rb
6.修改root密码
如果忘了root用户的密码,可以通过下面方式修改密码
1、切换目录:
cd /opt/gitlab/bin
2、执行 :sudo gitlab-rails console production 命令 开始初始化密码
3、在irb(main):001:0> 后面通过 u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
4、通过u.password='12345678’设置密码为12345678(这里的密码自己随意设定):
5、通过u.password_confirmation=‘12345678’ 再次确认密码
6、通过 u.save!进行保存(切记切记 后面的 !)
7、如果看到上面截图中的true ,说明已经成功了,执行 exit 退出当前设置流程即可。
8、回到gitlab ,可以通过 root/12345678 这一超级管理员账号登录了