Centos7安装Gitlab

本文档只适用于Centos7中安装gitlab,其他linux系统安装方式点击这里

一.安装

1. 安装和配置必需的依赖项

  第一步.系统防火墙打开HTTP访问和SSH访问

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

 第二步.安装postfix邮件服务器,如果想使用其他的解决方案来发送电子邮件,请跳过这一步,配置其他的SMTP服务器后再安装Gitlab

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
启动postfix时有可能提出如下错误

解决方法:

修改/etc/postfix/main.cf配置

inet_protocols = ipv4  
inet_interfaces = all

2.开始安装Gitlab

第一步.添加Gitlab安装包

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

第二步.安装Gitlab包,更改http://gitlab.example.com为你实际的访问URL

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

3.访问http://gitlab.example.com,检查是否安装成功

   在第一次访问时,您将被重定向到一个密码重置屏幕,默认登录账号为:root

二.Gitlab启动、停止和重启

# 启动gitlab所有组件
sudo gitlab-ctl start
 
# 停止gitlab所有组件
sudo gitlab-ctl stop
 
# 重启gitlab所有组件
sudo gitlab-ctl restart
 
# 查看gitlab状态
sudo gitlab-ctl status

三.Gitlab服务器迁移

注意事项:两台gitlab服务的版本必须保持一致,否则导入数据时会提示版本不兼容问题,如下图

第一步:备份原服务器上的代码,执行以下命令

gitlab-rake gitlab:backup:create RAILS_ENV=production

PS: 备份后的文件一般是位于/var/opt/gitlab/backups下, 自动生成文件名文件名如1481529483_gitlab_backup.tar


第二步:将第一步生成的tar文件拷贝到新服务器上相应的backups目录下

可以利用scp命令或其他方式进行拷贝,scp命令拷贝如下

 

scp 用户名@服务器IP:/var/opt/gitlab/backups/1481529483_gitlab_backup.tar /var/opt/gitlab/backups

第三步:数据恢复,执行命令

 

gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1481529483

PS:BACKUP的时间点必须与原服务器备份后的文件名一致,此过程如果tar包文件越大,耗时越长,执行过程中有次确认,输入yes即可。
第四步:错误解决(如果可以正常访问可以忽略)
    错误描述:页面可以正常访问,点击具体某一个项目是页面提示500错误
    解决办法:
    1. 覆盖原来gitlab的 db_key_base 到新的gitlab ,db_key_base 位置在 /etc/gitlab/gitlab-secrets.json
    2.执行以下命令
     EE版执行: sudo gitlab-rails runner "Project.where(mirror: false).where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
     CE版执行:sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
    3.重启gitlab,执行:gitlab-ctl restart

你可能感兴趣的:(Git,Svn版本控制)