GitLab 版本控制系统

GitLab 版本控制系统

一、版本控制核心概念

1、版本控制定义

版本控制是对软件开发过程中程序代码、配置文件及说明文档等文件变更的管理系统,是软件配置管理的核心组成部分。

2、主要功能特性
  • 文件追踪:记录文件变更的时间、人员、内容等详细信息
  • 版本号管理:每次文件变更自动增加版本号
  • 并行开发支持:有效解决多人协同开发的版本同步问题
  • 分支与合并:高效处理不同版本的错误修正
  • 版本回退:必要时可回退到历史版本
3、开发流程管理
  • 设定开发基线,确定配置项初始版本
  • 基于基线版本进行目标版本开发
  • 变更评估和影响范围分析
  • 版本树延伸或新分支创建
  • 变更记录和跟踪

二、GitLab 部署安装

1、环境要求
  • 系统要求:纯洁环境
  • CPU:2核(最低)
  • 内存:8GB(最低)
  • 推荐配置:4核CPU,16GB内存
2、环境准备步骤
  • 配置 yum 源与 epel 源

  • 关闭防火墙和 selinux

  • 配置时钟同步

3、服务配置
安装 git
bash 复制代码
[root@gitlab ~]# yum -y install git
安装依赖包
bash 复制代码
[root@gitlab ~]# yum -y install curl openssh-server openssh-clients postfix cronie  perl
启动postfix服务并设置开机自启
bash 复制代码
[root@gitlab ~]# systemctl restart postfix.service 
[root@gitlab ~]# systemctl enable postfix.service
4、GitLab安装
下载 gitlab 的 rpm 包
bash 复制代码
[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
bash 复制代码
[root@gitlab src]# rpm -ivh gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm
5、配置与启动
修改配置文件
bash 复制代码
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
ini 复制代码
external_url 'http://192.168.100.10'
重载配置文件并重启 gitlab
bash 复制代码
[root@gitlab ~]# gitlab-ctl reconfigure
[root@gitlab ~]# gitlab-ctl restart
查看当前的 gitlab 版本
bash 复制代码
[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 15.3.3

三、GitLab 系统管理

1、管理员密码重置
bash 复制代码
[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) FOSS
 GitLab Shell: 14.10.0
 PostgreSQL:   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界面管理

四、GitLab 配置优化

1、界面汉化

  1. 用户下拉菜单 → Preferences
  2. Localization → Language
  3. 选择"简体中文"
  4. 保存更改

4.2 安全配置

  1. 下拉菜单
  2. 选择管理员
  3. 设置-注册限制
  4. 去掉"已启用注册功能"

五、GitLab 日常运维

1、核心管理功能
  • 项目管理:创建、配置和维护代码仓库
  • 成员组管理:按项目创建权限组
  • 用户管理:员工账号的生命周期管理
2、用户管理场景
  • 新员工入职:创建GitLab账户并分配权限
  • 员工离职:禁用或删除对应账户
  • 权限调整:根据项目需求调整用户权限

六、软件发布流程规范

1、完整发布流程

  1. 开发阶段:开发人员提交代码
  2. 测试阶段:测试人员进行功能验证
  3. 预发布:运维人员部署测试环境
  4. 二次测试:测试人员验收测试
  5. 发布申请:开发人员邮件申请(抄送运维团队)
  6. 变更审批:开发领导审批
  7. 影响评估:运维团队评估发布影响
  8. 领导确认:运维领导与开发领导协商
  9. 生产发布:运维人员执行发布
  10. 生产验证:测试人员验证生产环境
  11. 问题处理:如遇问题立即回滚

2、变更管理

  • 填写变更单记录
  • 明确责任边界
  • 记录变更影响
  • 确保可追溯性

七、常用资源链接

相关推荐
_运维那些事儿18 小时前
GitLabCI/CD语法
linux·服务器·git·ci/cd·gitlab·运维开发·devops
_运维那些事儿18 小时前
GitLab&Jenkins
运维·ci/cd·gitlab·jenkins·devops
Jeacean2 天前
gitlab 仓库所有分支开启分支保护脚本
gitlab
nhfc992 天前
Gitlab备份且提交Windows服务器数据
服务器·windows·gitlab
Knight_AL2 天前
Jenkins 配置 GitLab 认证并实现自动化部署
自动化·gitlab·jenkins
危笑ioi3 天前
docker部署jenkins/gitlab/nexus3/nginx配置端口转发与ssl
nginx·docker·gitlab·jenkins·ssl
木易 士心5 天前
GitLab 安装指南
git·gitlab
Linux运维技术栈5 天前
GitLab社区版备份优化:3M包为何是独立完整备份?
运维·git·gitlab
z.q.xiao6 天前
【镜像模式】WSL如何访问windows内网服务
linux·网络·windows·gitlab·wsl·dns
github.com/starRTC6 天前
Claude Code中英文系列教程17:将Claude Code集成在GitLab工作流里面
git·gitlab·github