docker-compose安装Gitlab中文版
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
新建文件夹
mkdir /usr/local/gitlab/config /usr/local/gitlab/data /usr/local/gitlab/logs
新建docker-compose.yml
touch /usr/local/gitlab/docker-compose.yml
内容
version: '2'
services:
gitlab:
container_name: gitlab
image: 'twang2218/gitlab-ce-zh'
restart: unless-stopped
hostname: gitlab
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://xxx.com'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 需要配置到 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'] = "xxxx@xx.com"
# 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'] = 'xxxx@xx.com'
ports:
- 180:80
- 22:22
volumes:
- /usr/local/gitlab/config:/etc/gitlab
- /usr/local/gitlab/data:/var/opt/gitlab
- /usr/local/gitlab/logs:/var/log/gitlab
执行docker-compose up -d
使用浏览器打开Gitlab 第一次访问默认是root账户,会需要修改密码
GitLab内存问题:
GitLab占用内存非常恐怖,解决方法很简单
修改 /etc/gitlab/gitlab.rb 文件,将 unicorn['worker_processes'] = 2 去掉注释就可以了。在注释的情况下默认是服务器上的所有线程。
另外,可以将worker内存上限设置小一点,比如 unicorn['worker_memory_limit_max'] = "1280 * 1 << 20"
禁用prometheus,可以进一步减少内存占用,prometheus_monitoring['enable'] = false,若不禁用,可以更改buffer大小,postgresql['shared_buffers'] = 256M
经过上述调整,内存占用已经很小了。
最后,gitlab-ctl reconfigure,让配置文件生效,并重启 gitlab-ctl restart