gitlab搭建
1.搭建gitlab
1.1查看gitlab镜像
docker search gitlab
1.2拉取gitlab镜像
拉取社区版镜像
docker pull gitlab-ce
1.3创建gitlab文件夹
cd /user/local/softwares/
mkdir gitlab
cd gitlab
mkdir config data logs
1.4创建并运行gitlab
docker run -it \
--hostname 192.168.89.128 \ #修改为自己虚拟机的ip
--name gitlab \
-p 443:443 -p 80:80 -p 23:22 \
--network wn_docker_net \
--ip 172.18.12.50 \
-v /usr/local/softwares/gitlab/config:/etc/gitlab \#文件夹位置需要对应
-v /usr/local/softwares/gitlab/logs:/var/log/gitlab \
-v /usr/local/softwares/gitlab/data:/var/opt/gitlab \
-d gitlab/gitlab-ce
2.配置gitlab
2.1进入gitlab
docker exec -it gitlab bash
2.2启动 GitLab 的 Rails 控制台
gitlab-rails console
等待一会
2.3设置用户名和密码
user=User.find_by_username 'root' #设置用户名
user.password='88888888' #设置密码,要满足复杂度
user.save! #保存用户
2.4优化gitlab占用内存
2.4.1进入/etc/gitlab
cd /etc/gitlab
2.4.2更新本地软件包列表
apt-get update
2.4.3安装vim
apt-get install vim
2.4.4修改gitlab.rb文件
vim gitlab.rb
修改脏页和模糊页的内存释放时间为1秒
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
是一个环境变量设置的示例。
在这个示例中,MALLOC_CONF
是一个环境变量名,它用于配置内存分配器(malloc)的行为。dirty_decay_ms:1000
和 muzzy_decay_ms:1000
是具体的配置参数。
dirty_decay_ms
表示脏页的内存释放延迟时间,单位是毫秒(ms)。脏页是指被修改过但还没有写回磁盘的页面。在这个示例中,设置了脏页的内存释放延迟时间为1000毫秒,即1秒。
muzzy_decay_ms
表示模糊页的内存释放延迟时间,单位也是毫秒(ms)。模糊页是指最近不常被访问的页面。在这个示例中,设置了模糊页的内存释放延迟时间为1000毫秒,即1秒。
gtilab_rails['env']={
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
# "SKIP" => "db,uploads,repositories,builds,artifacts,lfs,registry,pages"
}
修改puma服务器配置,设置每个worker进程的超时时间为60秒,设置puma服务器的worker进程数由cpu核心数自动决定
这是对 Puma 服务器的配置进行修改的示例代码。
puma['worker_timeout'] = 60
这行代码设置了 Puma 服务器中每个 worker 进程的超时时间为 60 秒。如果一个 worker 进程在指定的时间内没有完成处理请求,Puma 会认为该进程出现问题,并尝试重启该进程,以确保服务器的稳定性。
puma['worker_processes'] = 0
这行代码将 worker 进程数量设置为 0。这意味着 Puma 服务器将根据系统的 CPU 核心数自动决定 worker 进程的数量。通常情况下,这是一个比较合理的设置,可以让 Puma 充分利用系统资源,提供更好的性能。
puma['worker_timeout'] = 60
puma['worker_processes'] = 0
设置 Sidekiq 的最大并发数为 1
Sidekiq 是一个使用 Redis 作为消息队列的后台任务处理器,它可以并行执行多个任务。通过设置最大并发数,可以限制 Sidekiq 同时执行的任务数量。
将 sidekiq['max_concurrency']
设置为 1 表示只允许一个任务在同一时间内被执行。这可以用于确保任务的顺序性或避免资源竞争等情况。
请注意,根据你的需求和系统环境,可以根据实际情况来调整最大并发数的值。设置过小的并发数可能会导致任务排队等待过长的时间,而设置过大可能会对系统性能造成压力。因此,需要根据实际情况进行调整以获得最佳的性能和效果。
sidekiq['max_concurrency'] = 1
2.5重启容器
2.5.1配置生效
gitlab-ctl reconfigure
2.5.2重启容器
gitlab-ctl restart
sidekiq[‘max_concurrency’] = 1
### 2.5重启容器
#### 2.5.1配置生效
```shell
gitlab-ctl reconfigure
2.5.2重启容器
gitlab-ctl restart