一、 安装gitlab

sudo docker run --detach --hostname gitlab.example.com --privileged=true   \
--publish 18083:443 --publish 18081:80 --publish 18082:22 --name gitlab --restart always \
--volume /srv/gitlab/config:/etc/gitlab  --volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:latest

--detach(-d):后台运行,并返回容器ID

--privileged=true:特殊权限运行,允许文件挂载

--publish(-p) :端口映射

--name:指定容器名称

--restart always:docker启动时运行容器

--volume(-v):文件挂载映射

最后一位:容器的镜像来源

#管理员账号:root

二、 配置IP

第一步、修改gitlab.yml文件 

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

第二步、修改gitlab.rb文件

vim /etc/gitlab/gitlab.rb 

最后,重启服务:gitlab-ctl restart

三、 配置邮件服务

第一步、安装sendMail:传送门(centos),传送门(ubuntu)

第二步、修改gitlab配置文件(最好进入容器内修改),进入vim /etc/gitlab/gitlab.rb,修改GitLab email server settings,最后重启gitlab:/opt/gitlab/bin/gitlab-ctl reconfigure;

#配置163邮件服务器
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxx@163.com"
gitlab_rails['smtp_password'] = "xxx"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
 
gitlab_rails['gitlab_email_from'] = "xxx@163.com"
user["git_user_email"] = "xxx"

四、减少内存占用

1、减少进程数

修改配置文件/etc/gitlab/gitlab.rb中的worker_processes:

unicorn['worker_processes'] = 2

默认是被注释掉的,官方建议该值是CPU核心数加一,可以提高服务器的响应速度,如果内存只有4G,或者服务器上有其它业务,就不要改了,以免内存不足。另外,这个参数最小值是2,设为1,服务器可能会卡死。

2、减少数据库缓存

postgresql['shared_buffers'] = "256MB"

默认为256MB,可适当改小

3、减少数据库并发数

postgresql['max_worker_processes'] = 8

默认为8,可适当改小

4、减少sidekiq并发数

sidekiq['concurrency'] = 25

默认是25,可适当改小

5、启用Swap分区

使用Swap的方法,请自行搜索

需要注意的是,修改完配置以后,需要执行下面的命令使配置生效:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐