# GitLab
# 安装
gitlab稍微有点吃内存,所以至少应在2核4g的机器中操作。 官网 (opens new window) 清华大学镜像源 (opens new window)
安装依赖包
yum install -y curl policycoreutils-python openssh-server
wget或者上传rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.10.0-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-15.10.0-ce.0.el7.x86_64.rpm
# 配置
修改http端口号
vim /etc/gitlab/gitlab.rb
external_url= 'http://xxx.xx.xx.xxx:port'
可选操作,如机器资源有限,本地还有nginx代理的80则改下内置的nginx端口
# 如有端口冲突,调整下
unicorn['port'] = 9092
prometheus太吃资源,我选择关掉
nginx['enable'] = true
nginx['listen_port'] = 9898
prometheus_monitoring['enable'] = false
重新生成rb外所有配置文件
gitlab-ctl reconfigure
此文件就是生成的
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
内置的nginx
/var/opt/gitlab/nginx/conf/gitlab-http.conf
# 相关操作
/etc/gitlab/gitlab.rb #gitlab配置文件
/opt/gitlab #gitlab的程序安装目录
/var/opt/gitlab #gitlab目录数据目录
/var/opt/gitlab/git-data #存放仓库数据
gitlab-ctl reconfigure #重新加载配置
gitlab-ctl status #查看当前gitlab所有服务运行状态
gitlab-ctl stop #停止gitlab服务
gitlab-ctl stop nginx #单独停止某个服务
gitlab-ctl tail #查看所有服务的日志
Gitlab的服务构成:
nginx: 静态web服务器
gitlab-workhorse 轻量级反向代理服务器
logrotate 日志文件管理工具
postgresql 数据库
redis 缓存数据库
sidekiq 用于在后台执行队列任务(异步执行)
# 常见问题
1.502错误
sudo chmod -R o+x /var/opt/gitlab/gitlab-rails
2.内存过大
由于gitlab占用内存较高,如果人员团队较少,不是提供给平台使用而是小组内部使用,可以适当缩小内存,主要通过以下几个方面
修改/etc/gitlab/gitlab.rb
# unicorn进程数改小,最小2个,内存占用调小
unicorn['worker_processes'] = 2
unicorn['worker_memory_limit_min'] = "300 * 1 << 20"
unicorn['worker_memory_limit_max'] = "500 * 1 << 20"
# 关闭普罗米修斯及调小postgresql内存
sidekiq['concurrency'] = 4
prometheus_monitoring['enable'] = false
postgresql['shared_buffers'] = 256M