【开发配置】云服务器配置Gitlab服务
☁️ 云服务器配置 GitLab 指南
1. 环境准备
一台云服务器(推荐 4C 8G 内存以上,系统建议 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8)
一个可访问的公网 IP
开放端口:
22 (SSH)
80 (HTTP)
443 (HTTPS,推荐配置 SSL)
5050 (可选:容器镜像仓库)
2. 安装 GitLab
方法一:使用官方 Omnibus 包(推荐)
# 更新系统
sudo apt update && sudo apt upgrade -y# 安装依赖
sudo apt install -y curl openssh-server ca-certificates tzdata perl# 添加 GitLab 官方仓库并安装
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://your-domain.com" apt install -y gitlab-ee
如果不需要企业版,可换成
gitlab-ce
。
安装完成后访问:
👉 http://your-domain.com
首次登录会提示设置 root 密码。
方法二:使用 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-ce:latest
3. 基本配置
编辑配置文件:
sudo vim /etc/gitlab/gitlab.rb
常见配置项:
external_url 'http://gitlab.example.com' # 改为域名或公网IP
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
应用配置:
sudo gitlab-ctl reconfigure
4. 配置域名与 HTTPS(推荐)
在云服务商控制台绑定域名到服务器 IP
使用 Let’s Encrypt 免费证书:
sudo vim /etc/gitlab/gitlab.rb
修改:
external_url "https://gitlab.example.com" letsencrypt['enable'] = true
重新加载:
sudo gitlab-ctl reconfigure
5. 用户与权限管理
首次进入 GitLab Web,设置 root 密码
创建用户(开发者、运维等)
创建 Group → Project
在 Settings → Repository → Protected branches 配置分支保护
6. CI/CD 配置(可选)
在云端 GitLab 上,你可以:
安装 GitLab Runner(用于执行 CI/CD Pipeline)
curl -L --output /usr/local/bin/gitlab-runner \https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 sudo chmod +x /usr/local/bin/gitlab-runner sudo gitlab-runner install sudo gitlab-runner start
注册 Runner:
sudo gitlab-runner register
按提示输入 GitLab URL 和 Token。
7. 企业常见优化
备份与恢复
gitlab-rake gitlab:backup:create
性能优化:开启 Redis + 外部数据库(PostgreSQL)
高可用:用 Nginx + GitLab 多节点(适合大规模企业)
监控:启用 Prometheus / Grafana
📌 总结:
云服务器开通端口
安装 GitLab(Omnibus 包 或 Docker)
配置域名 + HTTPS
配置用户、组、项目、CR 规则
(可选)安装 GitLab Runner 实现 CI/CD
8. 写一个 一键部署 GitLab 的 Shell 脚本
🚀 一键安装 GitLab Shell 脚本
#!/bin/bash
#
# GitLab 一键安装脚本 (Ubuntu 20.04/22.04)
# 作者: ChatGPT
# 注意: 默认安装 GitLab CE (社区版),如需 EE 可改 gitlab-ce -> gitlab-ee
#set -e# 默认配置
GITLAB_DOMAIN=${1:-"gitlab.example.com"} # 域名或公网IP,支持传参
GITLAB_PACKAGE="gitlab-ce"
EXTERNAL_URL="http://${GITLAB_DOMAIN}"echo "==============================="
echo " 🚀 开始安装 GitLab"
echo " 域名/IP: $GITLAB_DOMAIN"
echo "==============================="# 更新系统
echo "👉 更新系统..."
sudo apt update -y && sudo apt upgrade -y# 安装依赖
echo "👉 安装依赖..."
sudo apt install -y curl openssh-server ca-certificates tzdata perl# 添加 GitLab 官方仓库
echo "👉 添加 GitLab 官方仓库..."
curl -sS https://packages.gitlab.com/install/repositories/gitlab/${GITLAB_PACKAGE}/script.deb.sh | sudo bash# 安装 GitLab
echo "👉 安装 GitLab..."
sudo EXTERNAL_URL="${EXTERNAL_URL}" apt install -y ${GITLAB_PACKAGE}# 初始化配置
echo "👉 配置 GitLab..."
sudo gitlab-ctl reconfigure# 输出 root 初始密码
echo "👉 获取初始 root 密码:"
sudo cat /etc/gitlab/initial_root_passwordecho "==============================="
echo " ✅ GitLab 安装完成"
echo " 访问地址: ${EXTERNAL_URL}"
echo " 初始用户名: root"
echo " 初始密码文件: /etc/gitlab/initial_root_password"
echo "==============================="
🔧 使用方法
上传脚本到云服务器,例如保存为
install_gitlab.sh
赋予执行权限:
chmod +x install_gitlab.sh
3. 执行脚本(支持传入域名或公网 IP):
./install_gitlab.sh gitlab.yourdomain.com
或者直接用 IP:
./install_gitlab.sh 192.168.0.102
安装完成后,可以通过 http://域名 或 IP 访问 GitLab,首次登录用户名是 root
,密码在 /etc/gitlab/initial_root_password
文件里。