Gitlab
硬件要求
- 系统
- CentOS(7/8)
不支持MacOS、Windows
- CentOS(7/8)
- CPU
- 推荐4核,最多可支持500个用户
- 实测2核的也能安装成功
- 内存
- 4GB RAM是必需的最小内存大小,最多可支持500个用户
- 8GB RAM最多可支持1000个用户
安装
安装和配置openssh
# 安装必要依赖 sudo yum install -y curl policycoreutils-python openssh-server perl # 设置SSH开机自启动并启动SSH服务 sudo systemctl enable sshd sudo systemctl start sshd # 系统防火墙中打开HTTP,HTTPS(可选) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo systemctl reload firewalld
安装Postfix以发送通知电子邮件。如果要使用其他解决方案发送电子邮件,请跳过此步骤并 在安装GitLab之后配置外部SMTP服务器。
sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix
在安装Postfix的过程中,可能会出现一个配置屏幕。选择“ Internet Site”,然后按Enter。使用服务器的外部DNS作为“mail name”,然后按Enter。如果出现其他屏幕,请继续按Enter接受默认设置。
添加GitLab社区 yum源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
添加GitLab软件包存储库并安装软件包
4.1 安装最新版本。
# 直接安装 sudo yum install gitlab-ce # 修改url并取消交互 sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce
4.2 安装指定版本
# 使用清华源下载13.5.3版本 curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-13.5.3-ce.0.el8.x86_64.rpm # 安装 rpm -i gitlab-ce-13.5.3-ce.0.el8.x86_64.rpm
浏览到主机名并登录 首次访问时,您将被重定向到密码重置屏幕。提供初始管理员帐户的密码,您将被重定向回登录屏幕。使用默认帐户的用户名root登录。
修改配置
修改端口号和生成的ssh地址
修改配置
cd /opt/gitlab/embedded/service/gitlab-rails/config vi gitlab.yml
关闭CI、CD
修改配置文件
- 修改
/etc/gitlab/gitlab.rb
中Default project feature settings
中信息 - 将
gitlab_rails['gitlab_default_projects_features_builds']
修改为false
,并解除注释
- 修改
刷新配置信息并重启
gitlab-ctl reconfigure # 刷新配置信息 gitlab-ctl restart #重启gitlab
减少内存占用
减少进程数,官方推荐为CPU数+1,最小为2
unicorn['worker_processes'] = 2
减少内存泄漏监视进程内存阈值
unicorn['worker_memory_limit_min'] = "200 * 1 << 20" unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
减少sidekiq并发数
sidekiq['max_concurrency'] = 16
减少数据库缓存
postgresql['shared_buffers'] = "256MB"
减少数据库并发
postgresql['max_worker_processes'] = 8
版本升级
yum install gitlab-ce
备份与恢复
GitLab恢复需要与备份相同版本号,备份之前请先确定好版本。
查看版本
- 命令
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 或者在网页上查看
help
- 命令
备份路径默认为
/var/opt/gitlab/backups/
,可以通过修改/etc/gitlab/gitlab.rb
来修改默认存放备份文件的目录:gitlab_rails['backup_path'] = '/home/backup'
/home/backup
修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure
命令重载配置文件即可。
开始操作
# 创建备份,文件名格式:[Unix时间戳]_[备份时间年月日]_[GitLab版本号]_gitlab_backup.tar
gitlab-rake gitlab:backup:create
# 停止数据连接服务(保证一致性)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 从备份中恢复
# 将备份文件拷贝到/var/opt/gitlab/backups下
# 多个备份文件
gitlab-rake gitlab:backup:restore BACKUP=[Unix时间戳]
# 只有一个备份文件
gitlab-rake gitlab:backup:restore
# 启动GitLab
gitlab-ctl start
gitlab-ctl reconfigure
如果提示Permission denied
,需要将备份文件授权给git
用户
chown git /var/opt/gitlab/backups
chmod 700 /var/opt/gitlab/backups