下面按常见场景给你讲怎么在 Linux 上部署 GitLab,从「最省事」到「可控性强」三种方式,你可以按自己情况选。
# 安装依赖
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata
# 添加 GitLab 源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
# 安装 GitLab(替换成你的域名)
sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ee
如果用 CE(社区版):
sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ce
sudo yum install -y curl policycoreutils openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" yum install gitlab-ee
sudo gitlab-ctl reconfigure
访问:
https://你的IP或域名
首次登录账号:root
密码在:
sudo cat /etc/gitlab/initial_root_password
curl -fsSL https://get.docker.com | bash
sudo systemctl enable --now docker
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22: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-ee:latest
访问:
http://服务器IP
docker-compose.yml 示例:
version: '3.7'
services:
gitlab:
image: gitlab/gitlab-ee:latest
container_name: gitlab
hostname: gitlab.example.com
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
ports:
- "80:80"
- "443:443"
- "22:22"
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/gitlab
restart: always
docker compose up -d
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
sudo gitlab-ctl reconfigure
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
sudo gitlab-ctl status
sudo gitlab-ctl restart
sudo gitlab-ctl stop
sudo gitlab-ctl tail
✅ 生产环境:
sudo gitlab-rake gitlab:backup:create
✅ 小规模团队:
如果你告诉我:
我可以给你定制化部署方案。