Gitlab快速安装
本文主要记录使用docker 的方式的Gitlab-ce安装步骤。
1、环境准备:
windows10 (作者是在windows下docker安装的,虽然官网不推荐,但是现在win里的wsl2环境提供了可能性,作者的电脑配置不高,经过调优后,gitlab能正常运行~)
ubuntu 18.04 LTS (WSL2)
docker desktop 4.4.4
2、安装
首先是选择gitlab的版本,当前最新的版本号是14.+,我选择的是13.12版本去安装。
选择好版本后,就可以按照官网文档的顺序来操作了。
一开始我打算以source源码的方式去安装,在Software requirements节,我们可以看到gitlab需要的一些依赖:Ruby,Go,Git,Node.js,Redis,Nginx等等,但按照源代码的安装步骤安装这些依赖的时候遇到了不少配置问题,如果相应干净点的安装,有更好的安装方式,我推荐使用Omnibus packages。在源码安装文档的开头,也是这么推荐的。
仅用作本地测试使用,则完全可以使用Omnibus packages && docker的方式安装。在docker hub搜索找到gitlab-ce的镜像,注意选择对应版本tag。
在ubuntu中下载镜像的命令:
docker pull gitlab/gitlab-ce:13.10.5-ce.0
下载好镜像后,使用run启动容器,命令如下:
docker run -d -p 8443:443 -p 8880:80 -p 8822:22 --name gitlab
-v /docker-related/docker/gitlab/config:/etc/gitlab
-v /docker-related/docker/gitlab/logs:/var/log/gitla
-v /docker-related/docker/gitlab/data:/var/opt/gitlab
gitlab/gitlab-ce:13.10.5-ce.0
暴露的端口号及挂载的目录根据实际情况修改。看到容器的id号,gitlab已经安装好了。
docker运行参数参考。
本以为这么快就搞定了,但是启动后会出现磁盘占用高的问题,导致资源一致消耗最终服务不能使用。行百里者半九十,所以重点来了,且看下一节:参数调优。
3、参数调优
因为继续让容器运行的话,磁盘会写入异常,导致什么也做不了,我们先关闭容器。
docker stop 6aa0aed87
然后切换到我们指定的宿主机配置文件目录下。
cd /docker-related/docker/gitlab/config
vim gitlab.rb
gitlab.rb文件中包括了gitlab系统本身及与关联应用的所有配置,例如对容器中各种服务的监控:redis、postgres等等,还有像prometheus_monitoring和grafana这些组件,他们很多默认都是开启的,组合在一起启动,对资源的消耗程度可想而知。所有我们开始大刀阔斧的关闭调优设置。下面给出笔者使用的部分参数,以供参考。
puma['worker_processes'] = 0
puma['min_threads'] = 1
puma['max_threads'] = 2
sidekiq['max_concurrency'] = 5
sidekiq['metrics_enabled'] = false
prometheus['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
gitlab_exporter['enable'] = false
prometheus_monitoring['enable'] = false
grafana['enable'] = false
gitaly['ruby_max_rss'] = 200_000_000
gitaly['concurrency'] = [
{
'rpc' => "/gitaly.SmartHTTPService/PostReceivePack",
'max_per_repo' => 3
}, {
'rpc' => "/gitaly.SSHService/SSHUploadPack",
'max_per_repo' => 3
}
]
gitaly['storage'] = [
{ 'name' => 'default', 'path' => '/var/opt/gitlab/git-data/repositories' }
]
部分调优的参考文档:
GitLab 14 轻量化运行方案
Configuration with all the changes
Configuring Sidekiq
调整完成后,我们重新启动容器,就可以如丝般顺滑的gitlab了。
如果在启动时想修改配置参数,修改并保存好gitlab.rb后,在容器内部,我们执行gitlab提供的命令行重新加载即可。
gitlab-ctl reconfigure
4、修改管理员密码
进入gitlab容器或是所在的服务器,切换到启动gitlab的用户,使用一下命令按操作皆可以修改初始密码。
sudo gitlab-rake "gitlab:password:reset"