介绍
gitlab有两个版本,ce是社区版(Community Edition)免费的,ee是企业版(Enterprise Edition)收费的,本文使用ce版本。
gitlab
run启动
external_url:可以配置域名+端口或网址,注意宿主机的端口一定要与此端口一致,否则页面跳转的时候会报错。
sudo docker run --detach --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/';" --publish 553:443 --publish 90:80 --publish 32:22 --name gitlab --restart always --volume /home/gitlab/config:/etc/gitlab:Z --volume /home/gitlab/logs:/var/log/gitlab:Z --volume /home/gitlab/data:/var/opt/gitlab:Z gitlab/gitlab-ce:latest
docker-compose构建
external_url:可以配置域名+端口或网址,注意宿主机的端口一定要与此端口一致,否则页面跳转的时候会报错。
version: '3.6'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://your_ip:90'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "system@qq.com.cn"
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'] = 'system@qq.com.cn'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['gitlab_shell_ssh_port'] = 32
ports:
- '90:90'
- '553:443'
- '32:22'
volumes:
- '/home/gitlab/config:/etc/gitlab'
- '/home/gitlab/logs:/var/log/gitlab'
- '/home/gitlab/data:/var/opt/gitlab'
优化启动的进程
gitlab会自动根据你的cpu核心数来配置,如果你不想它占用太多的资源,就需要修改gitlab.rb文件。
注:从GitLab 13.0开始,Puma是默认的Web服务器,并且Unicorn默认情况下处于禁用状态。
减少进程
#默认是被注释掉的,最小不能低于2,否者会卡死。
sed -i "s/# puma\['worker_processes'\] = 2/puma\['worker_processes'\] = 3/" gitlab.rb
cat gitlab.rb | grep "puma\['worker_processes"
nginx的线程数
公司的开发人员少的话,设置成3就好
# 修改内容
sed -i "s/# nginx\['worker_processes'\] = 4/nginx\['worker_processes'\] = 3/" gitlab.rb
cat gitlab.rb | grep "nginx\['worker_processes"
减少缓存数据
默认为256MB,可适当改小
postgresql['shared_buffers'] = "256MB"
减少数据库并发
默认为8,可适当改小
sed -i "s/# postgresql\['max_worker_processes'\] = 8/postgresql\['max_worker_processes'\] = 8/" gitlab.rb
cat gitlab.rb | grep "postgresql\['max_worker_processes"
安装后如果想修改配置
配置腾讯企业邮箱
vim /etc/gitlab/gitlab.rb,进入文件让后加入下面的配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "system@qq.com.cn"
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'] = 'system@qq.com.cn'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
修改git访问地址
vim进入文件,找到gitlab下面的host、port还有ssh_port,修改成你真正的访问地址,然后 gitlab-ctl restart
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml