GitLab配置
1、修改GitLab绑定的域名
a、修改/etc/gitlab/gitlab.rb配置文件,修改成自己的域名
external_url 'http://gitlab.example.com'
b、使配置生效
停止服务命令:gitlab-ctl stop
配置生效命令:gitlab-ctl reconfigure
c、启动服务
命令:gitlab-ctl start
2、修改GitLab仓库存储位置,GitLab仓库默认位子:/var/opt/gitlab/git-data
a、创建/data/soft/gitlab/gitlab-data目录,作为仓库存储目录
命令:mkdir /data/soft/gitlab/gitlab-data
b、修改gitlab配置文件,找到git_data_dir
命令:vim /etc/gitlab/gitlab.rb
增加内容:
1 git_data_dirs({
2 "default" => {
3 "path" => "/data/soft/gitlab/gitlab-data"
4 }
5 })
c、是配置生效
停止服务命令:gitlab-ctl stop
配置生效命令:gitlab-ctl reconfigure
d、启动服务
命令:gitlab-ctl start
3、修改nginx端口,nginx默认端口是80,有可能被占用,修改成其他端口
a、修改/etc/gitlab/gitlab.rb配置文件
1 nginx['listen_port'] = 28000
b、修改/var/opt/gitlab/nginx/conf/gitlab-http.conf文件
1 listen *:28000;
c、使配置生效
停止服务命令:gitlab-ctl stop
配置生效命令:gitlab-ctl reconfigure
d、启动服务
命令:gitlab-ctl start
4、修改unicorn端口,unicorn默认端口是8080,有可能被占用,修改成其他端口
a、修改/etc/gitlab/gitlab.rb配置文件
1 unicorn['port'] = 28001
b、修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb文件
1 listen "127.0.0.1:28001", :tcp_nopush => true
c、使配置生效
停止服务命令:gitlab-ctl stop
配置生效命令:gitlab-ctl reconfigure
d、启动服务
命令:gitlab-ctl start
5、修改prometheus端口,prometheus监控默认使用端口是9090,有可能被占用,修改成其他端口
a、修改/etc/gitlab/gitlab.rb配置文件
prometheus['listen_address'] = 'localhost:28002'
b、使配置生效,参考3点
6、优化GitLab性能,修改gitlab配置文件/etc/gitlab/gitlab.rb
官方推荐最低物理配置是 2核4G(本例使用的是1核2G运行比较慢)
a、减少进程数与超时时间
1 # 超时时间
2 unicorn['worker_timeout'] = 60
3
4 # 不能低于2,否则卡死 worker=CPU核数+1
5 unicorn['worker_processes'] = 2
b、GitLab默认使用了PostgreSQL,优化PostgreSQL
# 减少数据库缓存大小 默认256,可适当改小
postgresql['shared_buffers'] = "256MB" # 减少数据库并发数
postgresql['max_worker_processes'] = 8 # 减少sidekiq并发数
sidekiq['concurrency'] = 10
c、减少unicorn内存使用
# 减少内存
2 unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
3 unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
7、配置邮箱服务SMTP服务器
本例使用的是阿里云ECS服务器,TCP 25端口是默认的邮箱服务端口。基于安全考虑,云服务器ECS的25端口默认受限。阿里云建议使用465端口发送邮件
SMTP服务器设置参考:https://docs.gitlab.com/omnibus/settings/smtp.html
a、修改配置文件/etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # If your SMTP server does not like the default 'From: gitlab@localhost' you
# can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
b、使配置生效
停止服务命令:gitlab-ctl stop
配置生效命令:gitlab-ctl reconfigure
c、启动服务
命令:gitlab-ctl start
9、GitLab汉化
GitLab汉化参考文档:https://gitlab.com/xhang/gitlab/wikis/home
GitLab汉化项目Git:https://gitlab.com/xhang/gitlab
a、查看gitlab版本
命令:cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
b、克隆汉化版本库
命令:git clone https://gitlab.com/xhang/gitlab.git
c、比较汉化标签和原标签,导出 patch 用的 diff 文件
命令:git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff
d、导入汉化补丁
命令:gitlab-ctl stop
命令;patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 9.0.0-zh.diff
可能出现如一下错误:这是因为补丁中有一些较新的文件,但是我们安装的gitlab并没有这个文件存在
解决办法:一直按回车,跳过即可
e、启动GitLab
命令:gitlab-ctl start
f、执行重新配置命令
命令:gitlab-ctl reconfigure
汉化中出现问题,请重新安装 GitLab(注意备份数据)。
建议不要汉化,多学英文