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、变更管理

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

七、常用资源链接

相关推荐
酿情师1 天前
Gitlab 任意文件读取漏洞(CVE-2016-9086)
gitlab
糖果罐子♡2 天前
TortoiseGit 首次上传本地工程至已初始化的GitLab仓库教程
gitlab
Byron Loong2 天前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
QN1幻化引擎3 天前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
阿里云云原生3 天前
研发福音:云效 AI 智能评审正式支持 GitLab 集成,VPC 内网即可实现自动审阅
gitlab
这个需求做不了6 天前
Jenkins自动化构建与CI/CD流水线,并配置GitLab
java·ci/cd·自动化·gitlab·jenkins
qq_452396237 天前
第六篇:《GitLab CI 进阶:多环境部署与环境变量管理》
git·ci/cd·gitlab
考虑考虑8 天前
git中的tag
git·gitlab·github
Skilce10 天前
基于GitLab CI/CD + Kubernetes的自动化部署平台搭建
ci/cd·kubernetes·gitlab
行者-全栈开发10 天前
Jenkins 与 GitLab 深度集成实战:从 Webhook 到 Merge Request 全流程自动化
gitlab·jenkins·webhook·merge request·multibranch·source plugin·ci/cd 自动化