
GitLab 是一个功能强大的开源 DevOps 平台,集代码托管、CI/CD、项目管理和团队协作于一体。本文将为你梳理如何在主流操作系统上安装 GitLab,以及安装后的基本使用和常见问题处理。
GitLab 主要有三种安装方式,你可以根据自己的需求和环境选择合适的方法:
安装方式 | 适用平台 | 优点 | 缺点 |
|---|---|---|---|
原生包安装 | Ubuntu, CentOS, Debian 等 Linux 系统 | 官方推荐,性能最佳,功能完整 | 对系统资源要求较高 |
Docker 安装 | 所有支持 Docker 的平台(Windows, Mac, Linux) | 环境隔离,快速部署,易于维护 | 配置稍复杂,性能略有损耗 |
Windows 安装 | Windows 系统 | 适合 Windows 环境开发者 | 官方不支持直接安装,需通过 Docker 或虚拟机 |
在开始安装前,请确保你的系统满足以下最低要求:
以下是官方推荐的 Omnibus 包安装方法:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates postfix tzdata perl在 Postfix 安装过程中,选择 “Internet Site” 并输入服务器主机名。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashsudo EXTERNAL_URL="http://你的域名或IP" apt install gitlab-ce将
EXTERNAL_URL替换为你实际的域名或 IP 地址。
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH如果你更喜欢使用 Docker,以下是安装步骤:
docker-compose.yml 文件version: '3.8'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab-docker
hostname: 'gitlab.example.com'
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.11.111:8807'
letsencrypt['enable'] = false
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
ports:
- '8807:8807'
- '8808:22'记得将
external_url中的 IP 和端口改为你自己的。
docker-compose up -d容器启动后需要几分钟时间 GitLab 才能完全就绪。
对于 Mac 用户(特别是 M1 芯片),可以使用专门的 ARM 镜像:
docker-compose.ymlversion: "3.8"
services:
gitlab-ce:
image: yrzr/gitlab-ce-arm64v8:latest
container_name: gitlab-ce
privileged: true
restart: always
ports:
- "9922:22"
- "9980:9980"
volumes:
- /your/path/gitlab/etc:/etc/gitlab:z
- /your/path/gitlab/log:/var/log/gitlab:z
- /your/path/gitlab/opt:/var/opt/gitlab:z
deploy:
resources:
limits:
memory: 4096Mdocker exec -it gitlab-ce /bin/bash
vi /etc/gitlab/gitlab.rb添加以下配置:
external_url 'http://127.0.0.1:9980'
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
gitlab_rails['gitlab_shell_ssh_port'] = 9922EXTERNAL_URLrootsudo cat /etc/gitlab/initial_root_passworddocker exec -it gitlab-docker grep 'Password:' /etc/gitlab/initial_root_password⚠️ 注意:此密码文件会在 24 小时后自动删除,请及时修改密码。
登录后建议立即进行以下配置:
编辑 /etc/gitlab/gitlab.rb:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.your-email.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-username"
gitlab_rails['smtp_password'] = "your-password"
gitlab_rails['smtp_domain'] = "your-domain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "gitlab@your-domain.com"然后重新配置:
sudo gitlab-ctl reconfigure以管理员身份登录后,你可以通过点击顶部导航栏的 “Admin Area”(扳手图标)进入管理区域,进行以下重要设置:
Settings → Preferences → GravatarSettings → General → Sign-up restrictionsAdmin Area → Users → New userGuestReporterDeveloperMaintainerOwnerGitLab 内置了强大的 CI/CD 功能:
.gitlab-ci.yml 文件stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Building the project..."
- go build -o myapp
artifacts:
paths:
- myapp
test_job:
stage: test
script:
- echo "Running tests..."
deploy_job:
stage: deploy
script:
- echo "Deploying application..."
only:
- mainSettings → CI/CD → Runners# 启动所有服务
sudo gitlab-ctl start
# 停止所有服务
sudo gitlab-ctl stop
# 重启所有服务
sudo gitlab-ctl restart
# 查看服务状态
sudo gitlab-ctl status
# 重新配置 GitLab(修改配置后必须执行)
sudo gitlab-ctl reconfigure# 创建备份
sudo gitlab-rake gitlab:backup:create
# 恢复备份
sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名sudo gitlab-ctl tail如需启用 HTTPS,可配置:
GitLab 功能丰富,安装和配置过程可能会遇到各种问题,但遵循以上步骤应该能帮助你顺利完成安装!