GitLab 版本控制系统
GitLab 版本控制系统
一、版本控制核心概念
1、版本控制定义
版本控制是对软件开发过程中程序代码、配置文件及说明文档等文件变更的管理系统,是软件配置管理的核心组成部分。
2、主要功能特性
- 文件追踪:记录文件变更的时间、人员、内容等详细信息
- 版本号管理:每次文件变更自动增加版本号
- 并行开发支持:有效解决多人协同开发的版本同步问题
- 分支与合并:高效处理不同版本的错误修正
- 版本回退:必要时可回退到历史版本
3、开发流程管理
- 设定开发基线,确定配置项初始版本
- 基于基线版本进行目标版本开发
- 变更评估和影响范围分析
- 版本树延伸或新分支创建
- 变更记录和跟踪
二、GitLab 部署安装
1、环境要求
- 系统要求:纯洁环境
- CPU:2核(最低)
- 内存:8GB(最低)
- 推荐配置:4核CPU,16GB内存
2、环境准备步骤
-  配置 yum 源与 epel 源 
-  关闭防火墙和 selinux 
-  配置时钟同步 
3、服务配置
安装 git
[root@gitlab ~]# yum -y install git
安装依赖包
[root@gitlab ~]# yum -y install curl openssh-server openssh-clients postfix cronie  perl
启动postfix服务并设置开机自启
[root@gitlab ~]# systemctl restart postfix.service 
[root@gitlab ~]# systemctl enable postfix.service
4、GitLab安装
下载 gitlab 的 rpm 包
[root@gitlab ~]# cd /usr/src/
[root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm
安装 gitlab
[root@gitlab src]# rpm -ivh gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm
5、配置与启动
修改配置文件
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.100.10'
重载配置文件并重启 gitlab
[root@gitlab ~]# gitlab-ctl reconfigure
[root@gitlab ~]# gitlab-ctl restart
查看当前的 gitlab 版本
[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 15.3.3
三、GitLab 系统管理
1、管理员密码重置
[root@gitlab ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]GitLab:       15.3.3 (c629a47f87f) FOSSGitLab Shell: 14.10.0PostgreSQL:   13.6
------------------------------------------------------------[ booted in 15.08s ]
Loading production environment (Rails 6.1.6.1)
irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root>
irb(main):002:0> user.password = 'yyh123321!'
=> "yyh123321!"
irb(main):007:0> user.password_confirmation = 'yyh123321!'
=> "yyh123321!"
irb(main):008:0> user.save!
=> true
irb(main):009:0> exit
2、常用服务管理命令
| 命令 | 功能说明 | 
|---|---|
| gitlab-ctl start | 启动所有服务 | 
| gitlab-ctl restart | 重启所有服务 | 
| gitlab-ctl stop | 停止所有服务 | 
| gitlab-ctl restart nginx | 重启单个服务 | 
| gitlab-ctl status | 查看服务状态 | 
| gitlab-ctl reconfigure | 重载配置文件 | 
| gitlab-ctl show-config | 验证配置文件 | 
| gitlab-ctl tail | 查看所有服务日志 | 
3、Web界面管理
- 访问地址:http://192.168.100.10
- 默认用户:root
- 密码:重置后的密码
四、GitLab 配置优化
1、界面汉化
- 用户下拉菜单 → Preferences
- Localization → Language
- 选择"简体中文"
- 保存更改
4.2 安全配置
- 下拉菜单
- 选择管理员
- 设置-注册限制
- 去掉“已启用注册功能”
五、GitLab 日常运维
1、核心管理功能
- 项目管理:创建、配置和维护代码仓库
- 成员组管理:按项目创建权限组
- 用户管理:员工账号的生命周期管理
2、用户管理场景
- 新员工入职:创建GitLab账户并分配权限
- 员工离职:禁用或删除对应账户
- 权限调整:根据项目需求调整用户权限
六、软件发布流程规范
1、完整发布流程
- 开发阶段:开发人员提交代码
- 测试阶段:测试人员进行功能验证
- 预发布:运维人员部署测试环境
- 二次测试:测试人员验收测试
- 发布申请:开发人员邮件申请(抄送运维团队)
- 变更审批:开发领导审批
- 影响评估:运维团队评估发布影响
- 领导确认:运维领导与开发领导协商
- 生产发布:运维人员执行发布
- 生产验证:测试人员验证生产环境
- 问题处理:如遇问题立即回滚
2、变更管理
- 填写变更单记录
- 明确责任边界
- 记录变更影响
- 确保可追溯性
七、常用资源链接
- 官方网站:https://about.gitlab.com/
- 国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
- 文档资源:GitLab官方文档、社区论坛
