1、安装前准备
# 更新系统包索引
sudo apt update -y
# 升级已安装的包(可选,建议执行)
sudo apt upgrade -y
# 安装 GitLab 所需的依赖包
sudo apt install -y curl openssh-server ca-certificates tzdata perl
2、安装
添加 GitLab 官方软件源
# 添加 GitLab 官方 GPG 密钥
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
安装 GitLab CE(社区版)
替换下面的 https://gitlab.example.com 为你的实际访问地址(域名 / IP),这是 GitLab 网页的访问地址:
sudo EXTERNAL_URL="https://gitlab.example.com" apt install -y gitlab-ce
-
如果仅用 IP 访问,例如服务器 IP 是
192.168.1.100,则改为:sudo EXTERNAL_URL="http://192.168.1.100" apt install -y gitlab-ce -
安装过程会自动配置 GitLab,耗时取决于服务器性能(通常 5-10 分钟)。
国内镜像
如果下载慢,用国内镜像,推荐用清华大学镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/jammy/pool/main/g/gitlab-ce/gitlab-ce_18.8.3-ce.0_amd64.deb
本地安装下载好的 deb 包
# 安装本地包(替换为你的包名)
sudo dpkg -i gitlab-ce_18.8.3-ce.0_amd64.deb
配置访问地址并初始化,安装完成后,和在线安装一样配置 EXTERNAL_URL,并触发初始化:
# 设置访问地址(替换为你的 IP/域名)
sudo EXTERNAL_URL="http://192.168.1.100" gitlab-ctl reconfigure
这个步骤会配置 GitLab 的所有组件(Nginx、PostgreSQL 等),耗时约 5-10 分钟。
安装目录
| 目录路径 | 作用说明 |
|---|---|
/etc/gitlab/ |
核心配置目录 :存放 GitLab 主配置文件 gitlab.rb,所有自定义配置都在这里修改(如 external_url、端口、数据库配置等) |
/var/opt/gitlab/ |
数据存储目录 :GitLab 所有核心数据都存在这里(最重要)- /var/opt/gitlab/git-data/:Git 仓库数据(项目代码)- /var/opt/gitlab/postgresql/:内置 PostgreSQL 数据库数据- /var/opt/gitlab/redis/:内置 Redis 数据- /var/opt/gitlab/nginx/:内置 Nginx 配置(若启用) |
/var/log/gitlab/ |
日志目录 :所有组件的日志文件- /var/log/gitlab/nginx/:内置 Nginx 日志- /var/log/gitlab/gitlab-workhorse/:workhorse 服务日志- /var/log/gitlab/postgresql/:数据库日志 |
/opt/gitlab/ |
程序安装目录 :GitLab 核心程序、脚本、依赖包都在这里- /opt/gitlab/bin/:gitlab-ctl 等管理命令- /opt/gitlab/embedded/:内置的依赖(如 Ruby、Go、PostgreSQL 等) |
4、初始化与访问 GitLab
获取初始管理员密码
GitLab 安装完成后,会自动生成 root 用户的初始密码,存储在以下文件中:
sudo cat /etc/gitlab/initial_root_password
注意:该文件会在 24 小时后自动删除,建议立即记录密码。
访问 GitLab 网页
打开浏览器,输入你设置的 EXTERNAL_URL(如 http://192.168.1.100),使用用户名 root 和上述初始密码登录。
5、其他
常用命令
# 重启 GitLab
sudo gitlab-ctl restart
# 停止 GitLab
sudo gitlab-ctl stop
# 查看 GitLab 状态
sudo gitlab-ctl status
# 重新配置 GitLab(修改配置文件后执行)
sudo gitlab-ctl reconfigure
修改访问地址 / 端口
如果需要修改 GitLab 的访问地址或端口,编辑主配置文件:
sudo vim /etc/gitlab/gitlab.rb
找到以下配置项,修改后保存:
# 修改访问地址
external_url 'http://192.168.1.100:8080' # 例如改为 8080 端口
# 如果需要修改 SSH 端口(默认 22)
gitlab_rails['gitlab_shell_ssh_port'] = 2222
修改后执行重新配置:
sudo gitlab-ctl reconfigure
内存不足的临时优化(低配服务器)
如果服务器内存不足(如 1GB),可修改配置降低资源占用:
sudo vim /etc/gitlab/gitlab.rb
添加 / 修改以下配置:
# 降低 unicorn 工作进程数
unicorn['worker_processes'] = 2
# 降低 sidekiq 并发数
sidekiq['concurrency'] = 10
# 禁用不需要的服务(如监控)
prometheus_monitoring['enable'] = false
保存后执行 sudo gitlab-ctl reconfigure 生效。
卸载gitlab
# 停止服务
sudo gitlab-ctl stop
# 卸载 GitLab 软件包
sudo apt remove --purge -y gitlab-ce
# 清理 GitLab 残留文件和目录
# 删除 GitLab 主目录(包含配置、日志、数据)
sudo rm -rf /etc/gitlab
sudo rm -rf /var/opt/gitlab
sudo rm -rf /var/log/gitlab
# 删除 GitLab 相关的临时文件
sudo rm -rf /tmp/gitlab*
# 删除 GitLab 安装源(可选,若后续不再安装)
sudo rm -rf /etc/apt/sources.list.d/gitlab*
# 清理系统依赖
# 自动移除不再需要的依赖包
sudo apt autoremove -y
# 清理下载的软件包缓存
sudo apt clean
验证卸载是否完成,执行以下命令,若没有输出,说明 GitLab 已完全卸载:
# 检查是否还有 GitLab 进程
ps aux | grep gitlab
# 检查是否还有 GitLab 相关目录
ls /etc/gitlab /var/opt/gitlab