一、基础环境
(1)操作系统:CentOS 7.3
(2)Gitlab: 11.5.4 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
二、硬件需求
(1)存储
存储空间的大小主要取决于你将存储的Git仓库的大小。但根据 rule of thumb(经验法则) 你应该考虑多留一些空间用来存储Git仓库的备份。
如果你想使用弹性的存储空间,你可以考虑在分配分区的时候使用LVM架构,这样可以在后期需要的清空下添加硬盘在增加存储空间。
除此之外你还可以挂在一个支持NFS的分卷,比如NAS、 SAN、AWS、EBS。
如果你的服务器有足够大的内存和CPU处理性能,GitLab的响应速度主要受限于硬盘的寻道时间。 使用更快的硬盘(7200转)或者SSD硬盘会很大程度的提升GitLab的响应速度。
(2)CPU
- 1 核心CPU最多支持100个用户,所有的workers和后台任务都在同一个核心工作这将导致GitLab服务响应会有点缓慢。
- 2核心 支持500用户,这也是官方推荐的最低标准。
- 4 核心支持2,000用户。
- 8 核心支持5,000用户。
- 16 核心支持10,000用户。
- 32 核心支持20,000用户。
- 64 核心支持40,000用户。
(3)Memory
安装使用GitLab需要至少4GB可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存. 少于4GB内存会导致在reconfigure的时候出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.
- 1GB 物理内存 + 3GB 交换分区 是最低的要求,但我们 强烈反对 使用这样的配置。 查看下面unicorn worker章节获取更多建议。
- 2GB 物理内存 + 2GB 交换分区 支持100用户,但服务响应会很慢。
- 4GB 物理内存 支持100用户,也是 官方推荐 的配置。
- 8GB 物理内存 支持 1,000 用户。
- 16GB 物理内存 支持 2,000 用户。
- 32GB 物理内存 支持 4,000 用户。
- 64GB 物理内存 支持 8,000 用户。
- 128GB 物理内存 支持 16,000 用户。
- 256GB 物理内存 支持 32,000 用户。
三、安装Gitlab
(1)安装依赖(本文使用yum源为centos7.3镜像)
yum -y install pygpgme yum-utils curl policycoreutils-python openssh-server git
(2)防火墙永久开启http
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
(3)安装postfix邮件服务
yum install postfix
systemctl enable postfix
systemctl start postfix
(4)安装gitlab
rpm -ivh gitlab-ce-11.5.4-ce.0.el7.x86_64.rpm
(5)配置gitlab
vim /etc/gitlab/gitlab.rb
# 找到并修改external_url 'http://gitlab.example.com'
external_url 'http://服务器IP'
(6)配置gitlab
gitlab-ctl reconfigure
(7)启动所有服务
可以将此条命令加入/etc/rc.d/rc.local设置开机启动
gitlab-ctl start
(8)访问GitLab并测试
浏览器访问安装gitlab服务的IP,首次登陆会要求修改root密码
(9)gitlab相关操作命令
- gitlab-ctl start 启动所有服务 这个重启也会继续开启 相当systemctl enable
- gitlab-ctl stop 关闭所有服务
- gitlab-ctl restart 重启所有服务
- gitlab-ctl status 查看所有服务状态
- gitlab-ctl tail 查看日志信息
- gitlab-ctl service-list 列举所有启动服务
- gitlab-ctl graceful-kill 平稳停止一个服务
- gitlab-ctl help 帮助
- gitlab-ctl reconfigure 修改配置文件之后,需要重新加载下
- gitlab-ctl show-config 查看所有服务配置文件信息
- gitlab-ctl uninstall 卸载这个软件
- gitlab-ctl cleanse 删除gitlab数据,重新白手起家