CentOS7安装部署GitLab社区版

发布于:2025-08-18 ⋅ 阅读:(16) ⋅ 点赞:(0)

CentOS7安装部署GitLab社区版

一、前言

1.简介

GitLab 社区版 (CE) 是一个开源的端到端软件开发平台,具有内置版本控制、问题跟踪、代码审查、CI/CD 等功能。

2.环境

Linux 发行版:CentOS-7-x86_64-DVD-2207-02.iso

GitLab-CE下载:https://packages.gitlab.com/gitlab/gitlab-ce

GitLab Community Edition:https://gitlab.com/rluna-gitlab/gitlab-ce

GitLab linux-package:https://docs.gitlab.com/install/install_methods/#linux-package

GitLab - enable-https:https://archives.docs.gitlab.com/17.7/ee/administration/sidekiq/#enable-https

Git 官网:https://git-scm.com/

Git 中文网:http://www.git-scm.com.cn/

Git入门和使用实践:https://blog.csdn.net/u011424614/article/details/113607793

Git项目合并实践:https://blog.csdn.net/u011424614/article/details/129347143

Ubuntu文本编辑工具nano和vim快捷键:https://blog.csdn.net/u011424614/article/details/136611066

CentOS7切换镜像源和更新软件包:https://blog.csdn.net/u011424614/article/details/149867407

CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

CentOS对换home分区与root分区的存储空间:https://blog.csdn.net/u011424614/article/details/125853913

Dell R740安装CentOS:https://blog.csdn.net/u011424614/article/details/113306808

CentOS分区扩容:https://blog.csdn.net/u011424614/article/details/113275862

二、正文

1.更换镜像源

2.安装依赖包

yum install -y curl policycoreutils-python openssh-server perl

3.安装

1)方式一:YUM安装

(1)配置GitLab软件仓库

在这里插入图片描述

  • 点击 【copy】按钮

在这里插入图片描述

  • 下载并运行自动化脚本
mkdir /opt/gitlab && cd /opt/gitlab

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

(2)安装

yum install gitlab-ce

# 备用,非必要执行,指定版本安装(指令可在对应版本的页面的右侧找到)
yum install gitlab-ce-17.7.7-ce.0.el7.x86_64

2)方式二:RPM安装

在这里插入图片描述

  • 进入下载页面

在这里插入图片描述

  • 浏览器下载软件包,然后存放到安装目录
mkdir /opt/gitlab && cd /opt/gitlab

# 安装
rpm -ivh gitlab-ce-17.7.7-ce.0.el7.x86_64.rpm

4.配置GitLab

  • 编辑 gitlab.rb
vim /etc/gitlab/gitlab.rb

编辑内容:

# 访问地址配置(内网部署建议绑定IP+端口)
external_url 'http://192.168.249.51:9999'

# 设置系统时区(中国标准时间,影响日志时间戳、备份计划等)
gitlab_rails['time_zone'] = 'Asia/Shanghai'

# 备份配置(自动管理备份目录,路径需有写权限)
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/opt/gitlab-ce/backups"
gitlab_rails['backup_gitaly_backup_path'] = "/opt/gitlab-ce/embedded/bin/gitaly-backup"

# 主数据存储目录(默认仓库路径,SSD硬盘可提升性能)
git_data_dirs({
   "default" => {
     "path" => "/opt/gitlab-ce/git-data"
    },
    "aterative" => {
     "path" => "/opt/gitlab-ce/databak"
    }
 })

# Sidekiq并发数(根据CPU核心数调整)
sidekiq['concurrency'] = 20

# PostgreSQL配置:数据库缓存,系统内存的25%-40%
postgresql['shared_buffers'] = "1024MB"
# PostgreSQL配置:最大工作进程数(高并发场景可调高)
postgresql['max_worker_processes'] = 50

# Nginx监听端口(必须与external_url端口一致,避免代理冲突)
nginx['listen_port'] = 9999

# 关闭Prometheus(节省资源,但需手动监控性能)
prometheus_monitoring['enable'] = false
  • 重新加载配置
gitlab-ctl reconfigure

5.管理GitLab

  • 常用指令
# 重启所有组件(推荐配置变更后使用)
gitlab-ctl restart
# 状态检查
gitlab-ctl status
# # 启动所有组件
gitlab-ctl start
# # 停止所有组件
gitlab-ctl stop
# 实时查看所有组件日志
gitlab-ctl tail
# 系统自启动
systemctl enable gitlab-runsvdir.service
# 查看进程
ps -ef | grep gitlab
# 查看端口
netstat -tulnp | grep 9999
# 查看 gitlab 版本
cat /opt/gitlab/version-manifest.txt
  • 防火墙配置
# 测试环境
systemctl stop firewalld.service
systemctl disable firewalld.service

# 生产环境,建议使用
firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --reload
# 查看防火墙已开放端口
firewall-cmd --zone=public --list-ports
  • 根据重启后的输出可知,默认用户是:root
  • 输出密码
cat /etc/gitlab/initial_root_password
  • 浏览器输入配置文件中设置的访问地址:http://192.168.249.51:9999/

在这里插入图片描述

6.设置

1)选择语言

  • 点击头像 - Preferences

在这里插入图片描述

  • Localization - Language / First day of the week

在这里插入图片描述

  • 页面滚动到尾部,点击【save changes】按钮,然后刷新浏览器网页

在这里插入图片描述

2)注册限制

  • 点击 GitLab 图标返回主页 - 配置是否允许用户注册 GitLab 账号

在这里插入图片描述

  • 跳转到 通用 - 注册限制 - 如果不允许注册,则取消勾选

在这里插入图片描述

  • 页面滚动到尾部,点击【保存更改】按钮

3)配置SSH密钥

(1)本地生成SSH密钥

在这里插入图片描述

  • Windows 右击菜单 - Open Git Bash here

在这里插入图片描述

  • 生成 SSH 密钥,执行过程根据提示输入内容 或者 全部按回车
ssh-keygen -t rsa -b 4096 -C "自己邮箱@qq.com"
  • 编辑工具打开 id_rsa.pub,并拷贝内容
C:\Users\【Windows用户名】.ssh\id_rsa.pub
(2)GitLab配置SSH密钥
  • 点击头像 - 偏好设置

在这里插入图片描述

  • SSH密钥 - 点击【添加新密钥】按钮

在这里插入图片描述

  • 输入:复制的SSH密钥
  • 选择:到期时间
  • 点击【添加密钥】按钮

在这里插入图片描述

4)postfix邮件通知

  • 安装 postfix
yum install postfix
# 系统自启动
systemctl enable postfix
systemctl start postfix
  • 不需要配置其它信息

5)配置HTTPS

GitLab - enable-https:https://archives.docs.gitlab.com/17.7/ee/administration/sidekiq/#enable-https

  • 编辑 gitlab.rb
vim /etc/gitlab/gitlab.rb

编辑内容:

sidekiq['exporter_tls_enabled'] = true
sidekiq['exporter_tls_cert_path'] = "/path/to/certificate.pem"
sidekiq['exporter_tls_key_path'] = "/path/to/private-key.pem"
  • 重新加载配置
gitlab-ctl reconfigure

6)修改密码

  • 点击头像 - 偏好设置

在这里插入图片描述

  • 密码 - 输入原密码和新密码

在这里插入图片描述

7.使用记录

  • 注意:以下操作使用 root 用户登录

1)创建用户

  • 首页 - 管理员

在这里插入图片描述

  • 概览 - 用户 - 点击【新用户】按钮

在这里插入图片描述

  • 输入:用户姓名、登录账号、电子邮件
  • 密码:通过邮件,发送密码重置连接
  • 选择:是否允许用户创建【群组】和查看【个人资料】
  • 选择:访问级别
  • 点击【创建用户】按钮

在这里插入图片描述

  • 如果设置了 postfix邮件通知 ,GitLab 会发送一个重置密码的邮件通知
  • 新用户登录邮箱,通过链接重置密码(如果是GitLab是内网使用,需要在内网打开链接)

在这里插入图片描述

  • 如果没有设置 postfix邮件通知 ,管理员重新编辑用户信息,输入用户密码

在这里插入图片描述

2)创建群组

  • 首页 - 管理员

在这里插入图片描述

  • 概览 - 群组 - 点击【新建群组】按钮

在这里插入图片描述

  • 输入:群组名称、群组描述
  • 选择:可见性级别
  • 点击【创建群组】按钮

在这里插入图片描述

3)创建项目

  • 首页 - 管理员

在这里插入图片描述

  • 概览 - 项目 - 点击【新建项目】按钮

在这里插入图片描述

  • 创建空白项目

在这里插入图片描述

  • 输入:项目名称(已有项目,可输入与本地项目名称一致)
  • 选择:群组
  • 选择:可见性级别
  • 如果已有项目中自带 README.md 文件,可取消勾选【使用自述文件初始化仓库】
  • 点击【新建项目】按钮

在这里插入图片描述

4)命令行指引

注意:以下操作需要先 配置SSH Key

  • 创建项目后,自动跳转到 命令行指引 ,具体内容如下:
(1)Git 本地设置
  • 本地
# 配置git的用户名和邮箱
git config --local user.name "Administrator"
git config --local user.email "gitlab_admin_bf9316@example.com"
  • 全局
# 配置git的用户名和邮箱
git config --global user.name "Administrator"
git config --global user.email "gitlab_admin_bf9316@example.com"
(2)SSH添加文件
  • 方式一:创建一个新仓库
git clone git@192.168.249.51:ateam/springboot-project.git
cd springboot-project
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main
  • 方式二:推送现有文件夹
# 进入代码目录
cd existing_folder

# 配置 Git 存储库
git init --initial-branch=main
git remote add origin git@192.168.249.51:ateam/springboot-project.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main
  • 方式三:推送现有的 Git 仓库
# 进入现有仓库目录
cd existing_repo

# 配置 Git 存储库
git remote rename origin old-origin
git remote add origin git@192.168.249.51:ateam/springboot-project.git
git push --set-upstream origin --all
git push --set-upstream origin --tags

8.Git可视化客户端


网站公告

今日签到

点亮在社区的每一天
去签到