一、前期准备工作

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如何 add SSH Keys_服务器


此时我们的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({
 "default" => {
   "path" => "/home/tools/git-data",
    "failure_count_threshold" => 10,
    "failure_wait_time" => 30,
    "failure_reset_time" => 1800,
    "storage_timeout" => 30
    }
 })

“path” => "/home/tools/git-data"是设置存放路径,可以修改为系统中磁盘空间较大的路径,我的在/home/tools/git-data

设置项目的访问路径

external_url 'http://ip'

如果你shell的登陆端口不是默认的22,还需要修改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,会进入到让我们重置密码的页面,我们来将密码进行重置

gitlab如何 add SSH Keys_vim_02


之后我们进行登录,默认账号为root,密码为刚重置的密码,成功登陆后,我们进入首页。

至此gitlab安装完成。

5.迁移
由于公司服务器更换,需要把原来服务器的数据迁移到新服务器
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

5.2.新服务器上安装与原服务器一样版本的gitlab。

由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据.

查看版本信息

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

5.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把文件上传和下载

5.4.新GitLab服务数据恢复

gitlab-rake gitlab:backup:restore RAILS_ENV=production   BACKUP=1565163295_2019_08_07_10.0.0

5.5.重启gitlab服务并检测恢复数据情况

gitlab-ctl restart 
gitlab-rake gitlab:check SANITIZE=true

5.6.迁移之后克隆地址修改

vim /etc/gitlab/gitlab.rb

gitlab如何 add SSH Keys_vim_03


6.修改root密码

如果忘了root用户的密码,可以通过下面方式修改密码

1、切换目录:

cd /opt/gitlab/bin

2、执行如下命令开始初始化密码

sudo gitlab-rails console production

gitlab如何 add SSH Keys_gitlab_04

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 这一超级管理员账号登录了