GitLab 零基础入门指南:从安装到项目管理全流程
Git 作为版本控制工具已经成为开发者日常工作的必备技能,而 GitLab 作为与 GitHub 齐名的代码托管平台,凭借其强大的自托管能力和企业级功能,在团队协作与 DevOps 流程中占据着重要地位。本文将带你从零开始,一步步完成 GitLab 的安装部署、基础配置,并通过实际操作掌握项目、用户与群组的管理方法,让你快速上手这个强大的协作平台。
什么是 GitLab?
在开始实操前,我们先简单了解下 GitLab。它是一个开源的代码托管与协作平台,不仅提供了 Git 仓库管理功能,还集成了 issue 跟踪、CI/CD 流水线、Wiki 文档等工具,形成了完整的 DevOps 闭环。与 GitHub 相比,GitLab 最大的优势在于支持自托管部署,企业可以将其部署在私有服务器上,更好地保障代码安全与数据隐私,这也是它在企业级场景中广受欢迎的原因。
第一步:安装 GitLab
选择合适的安装包
GitLab 官方提供了多种安装方式,这里我们选择基于 Debian/Ubuntu 系统的 deb 包安装(兼容性好且操作简单)。为了加快下载速度,推荐使用清华大学镜像源:
# 下载 GitLab CE 社区版(14.0.0 版本)
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce_14.0.0-ce.0_amd64.deb
提示:如果需要其他版本,可以访问镜像源地址(Index of /gitlab-ce/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror)查看并选择合适的版本号。
执行安装命令
下载完成后,使用 dpkg
命令安装:
dpkg -i gitlab-ce_14.0.0-ce.0_amd64.deb
安装成功的标志是终端会显示 GitLab 的狐狸图标(GitLab 的吉祥物),这意味着基础文件已部署到系统中。
第二步:配置访问地址与域名解析
设置外部访问地址
安装完成后,我们需要配置 GitLab 的访问地址(域名或 IP)。编辑主配置文件:
vim /etc/gitlab/gitlab.rb
找到 external_url
配置项,修改为你的域名(企业中通常使用域名,这里以 http://web.gitlab.com
为例):
external_url 'http://web.gitlab.com'
保存退出后,暂时不要重启服务,我们还需要配置本地域名解析。
配置本地 hosts 解析
为了让本地设备识别 web.gitlab.com
这个域名,需要在 hosts 文件中添加解析记录:
-
Windows 系统:编辑
C:\Windows\System32\drivers\etc\hosts
-
Linux/macOS 系统:编辑
/etc/hosts
添加如下内容(IP 地址替换为你的 GitLab 服务器实际 IP):
10.0.0.110 web.gitlab.com
这样,当你在浏览器中输入 web.gitlab.com
时,系统会自动指向服务器的 IP 地址。
第三步:启动并验证 GitLab 服务
应用配置并启动服务
修改配置后,需要执行以下命令使配置生效并启动服务:
sudo gitlab-ctl reconfigure
这个过程可能需要几分钟(会自动配置 Nginx、PostgreSQL 等依赖组件),耐心等待即可。启动成功后,终端会提示默认管理员账号(root)和密码存放路径。
检查服务状态
使用以下命令查看 GitLab 各组件的运行状态:
gitlab-ctl status
如果所有组件(如 nginx、postgresql、redis 等)都显示 run
状态,说明服务启动正常。
GitLab 核心组件与目录结构
了解 GitLab 的内部结构有助于后续的维护与问题排查,核心组件与目录如下:
核心组件
-
nginx:静态 Web 服务器,处理 HTTP 请求
-
gitlab-shell:处理 Git 命令交互(如 clone、push 等)
-
postgresql:存储 GitLab 所有业务数据(用户、项目、权限等)
-
redis:缓存数据库,提升系统响应速度
-
sidekiq:后台任务队列,处理异步操作(如邮件发送、备份等)
关键目录
-
/etc/gitlab/
:配置文件目录(核心文件gitlab.rb
在此处) -
/var/log/gitlab/
:所有组件的日志文件 -
/var/opt/gitlab/git-data/repositories/
:Git 仓库数据存储目录 -
/var/opt/gitlab/backups/
:自动备份文件存放目录
常用操作命令
掌握以下命令可以高效管理 GitLab 服务:
命令 | 功能描述 |
---|---|
gitlab-ctl start | 启动所有服务(可指定单个服务,如 gitlab-ctl start nginx ) |
gitlab-ctl stop | 停止所有服务 |
gitlab-ctl restart | 重启所有服务 |
gitlab-ctl reconfigure | 应用配置文件修改(必用!) |
gitlab-ctl tail <service> | 实时查看指定服务的日志(如 gitlab-ctl tail postgresql ) |
gitlab-ctl show-config | 验证配置文件是否有误 |
第四步:登录 GitLab 并初始化设置
获取初始密码
GitLab 安装后会自动生成 root 管理员的初始密码,存储在以下文件中:
cat /etc/gitlab/initial_root_password
注意:该文件会在 24 小时后自动删除,建议首次登录后立即修改密码。
首次登录与密码修改
-
打开浏览器,访问
http://web.gitlab.com
-
使用账号
root
和上述密码登录
-
首次登录会强制要求修改密码,设置一个安全的新密码后重新登录
第五步:GitLab 核心功能实战
1. 管理群组(Group)
群组是 GitLab 中管理项目和用户的重要单位,适合按团队或业务线划分。创建步骤:
-
登录后点击顶部导航栏的
Groups
→New group
-
填写群组名称(如
test
)和描述
-
选择可见性级别(企业中常用
Private
,仅指定用户可访问)
-
点击
Create group
完成创建
2. 创建项目(Project)
项目是代码托管的基本单元,可归属于某个群组。创建步骤:
-
进入群组页面,点击
New project
-
选择创建方式(这里以「空白项目」为例)
-
填写项目名称(如
hello-world
),选择归属群组
-
点击
Create project
完成创建
3. 添加用户与权限分配
团队协作需要为成员分配适当的权限:
-
点击顶部导航栏的
Admin
→Users
→New user
-
填写用户名、邮箱等信息,创建用户
-
进入用户详情页,设置初始密码
-
回到群组页面,点击
Members
→Add members
,输入用户名并分配角色(如Developer
可提交代码,Maintainer
可管理项目)
第六步:本地项目推送到 GitLab
准备本地项目
假设你已有一个本地 Git 项目(若没有,可按以下步骤创建):
# 初始化项目
mkdir hello-world && cd hello-world
git init# 创建示例文件
vim hello.html
编辑 hello.html
内容:
<!DOCTYPE html>
<html>
<head><title>Hello World!</title>
</head>
<body><h1>Hello world!</h1><p>This is the first file in my new Git Repo.</p>
</body>
</html>
提交到本地仓库:
git add hello.html
git commit -m "First release of Hello World!"
git tag v1.0 # 打标签
配置 SSH 密钥
为了避免每次推送代码输入密码,建议配置 SSH 密钥:
# 生成 SSH 密钥(一路回车默认即可)
ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"# 查看公钥内容
cat ~/.ssh/id_rsa.pub
将输出的公钥复制到 GitLab:
-
登录用户账号(非 root)
-
点击右上角头像 →
Edit profile
→SSH Keys
-
粘贴公钥,点击
Add key
-
然后就可以看到刚才添加的密钥了
-
本地访问测试,出现Welcome to GitLab, @hello!即代表可以正常访问
ssh -T git@web.gitlab.com
推送项目到远程仓库
在 GitLab 项目页面复制 SSH 地址(如 git@web.gitlab.com:test-group/hello-world.git
),执行推送命令:
# 关联远程仓库
git remote add origin git@web.gitlab.com:test-group/hello-world.git
# 推送代码
git push --set-upstream origin master
推送成功后,刷新 GitLab 项目页面,即可看到刚才提交的代码文件。
总结
通过本文的步骤,你已经完成了 GitLab 的安装部署、基础配置,并掌握了群组、项目、用户的管理方法,以及本地代码推送到远程仓库的流程。GitLab 的功能远不止于此,后续还可以探索其 CI/CD 流水线、分支保护、issue 管理等高级功能,逐步构建完整的 DevOps 工作流。
如果在操作中遇到问题,可以通过 gitlab-ctl tail
查看日志排查,或参考官方文档(GitLab Docs)获取更多帮助。