gitlab 是仓库管理系统的开源项目,用作git代码管理。
一、安装依赖
#安装所需依赖
yum install curl openssh-server openssh-clients postfix cronie
#GitLab使用postfix发送邮件
service postfix start
#设置postfix开机自启动
chkconfig postfix on
二、安装gitlab
yum安装
新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo文件,内容为:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
安装gitlab
yum makecache #更新本地缓存,提高安装速度
yum install gitlab-ce #安装gitlab
gitlab-ctl reconfigure #配置gitlab
rpm安装
下载rpm包(下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/)
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm
安装gitlab
rpm -i gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm
如果安装报错 执行
yum install policycoreutils-python
安装成后配置gitlab
gitlab-ctl reconfigure #配置gitlab
二、配置gitlab
(1)gitlab的备份与恢复
备份
# 可以将此命令写入crontab,以实现定时备份
/usr/bin/gitlab-rake gitlab:backup:create
恢复
# 停止unicorn和sidekiq,保证数据库没有新的连接,不会有写数据情况
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 进入备份目录进行恢复,1550640732_2019_02_20_11.7.5为备份文件的数字部分
cd /var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1550640732_2019_02_20_11.7.5
cd -
# 启动unicorn和sidekiq
gitlab-ctl start unicorn
gitlab-ctl start sidekiq
(2)gitlab配置文件修改
修改/etc/gitlab/gitlab.rb文件:
基本配置
#外部访问url(冒号后面的为nginx端口号,默认为80,经过编译后,自动将这个配置编译到nginx配置,nginx配置文件为:/var/opt/gitlab/nginx/conf/gitlab-http.conf)
external_url 'http://www.test.com:8888'
#修改unicorn端口号,默认值就是8080,也可以不进行修改
unicorn['port'] = 9999
发邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
如果你的ssh端口不是22号端口,需要修改:
gitlab_rails['gitlab_shell_ssh_port'] = 22
配置生效
#使配置生效
gitlab-ctl reconfigure
#重新启动GitLab,如果gitlab没有启动,使用gitlab-ctl start
gitlab-ctl restart
注意如果你修改了/var/opt/gitlab/nginx/conf/gitlab-http.conf文件的话,使用gitlab-ctl reconfigure命令的话,/var/opt/gitlab/nginx/conf/gitlab-http.conf文件信息会进行重置
(3)测试是否安装成功
ip+端口模式
参考: