在 Linux 上部署 GitLab 常见有三种方式:Omnibus 包安装(官方推荐)、Docker 部署、源码安装(不推荐)。下面我以最常用、最稳妥的方式为主,分别说明。
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata perl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
社区版用
gitlab-ce
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
如果是本机测试:
sudo EXTERNAL_URL="http://192.168.1.100" apt install gitlab-ee
浏览器打开:
http://服务器IP
首次登录:
rootcat /etc/gitlab/initial_root_password
sudo gitlab-ctl reconfigure # 重新加载配置
sudo gitlab-ctl restart # 重启
sudo gitlab-ctl status # 查看状态
sudo gitlab-ctl stop # 停止
curl -fsSL https://get.docker.com | bash
sudo systemctl enable --now docker
sudo docker run -d \
--hostname gitlab.example.com \
-p 80:80 -p 443:443 -p 22:22 \
--name gitlab \
--restart always \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
访问:
http://服务器IP
查看 root 密码:
docker exec -it gitlab cat /etc/gitlab/initial_root_password
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
sudo gitlab-ctl reconfigure
使用 Let’s Encrypt:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
mattermost['enable'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 2222
| 场景 | 推荐方式 |
|---|---|
| 生产环境 | Omnibus |
| 测试 / 快速搭建 | Docker |
| 深度定制 | 源码(不推荐) |
如果你告诉我:
我可以直接给你一份可复制执行的部署方案。