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

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

七、常用资源链接

相关推荐
创实信息7 小时前
创实信息正式成为极狐GitLab中国授权代理
ci/cd·gitlab·devops·代码管理·极狐
谢尔登7 小时前
【GitLab/CD】前端 CD
前端·gitlab
一念一花一世界21 小时前
Jenkins vs GitLab CI/CD vs Arbess,CI/CD工具一文纵评
ci/cd·gitlab·jenkins·arbess
老年DBA1 天前
Kubernetes 上的 GitLab + ArgoCD 实践(三):使用 ArgoCD 打通 CD 流程
kubernetes·gitlab·argocd
starandsea2 天前
gitlab解决传过大文件后删除导致pack过大问题
大数据·elasticsearch·gitlab
喜欢你,还有大家2 天前
集群——GitLab&&Jenkins部署
运维·gitlab·jenkins
西部森林牧歌2 天前
Arbess零基础学习,使用Arbess+GitLab实现Vue.js项目构建并主机部署
vue.js·gitlab·arbess·tiklab devops
松垮的屁兜2 天前
【gitlab】新建项目库并提交初始框架
gitlab·github
春生野草2 天前
腾讯云部署gitlab
运维·centos·gitlab