当前位置: 首页 > news >正文

CentOS7安装部署GitLab社区版

文章目录

  • CentOS7安装部署GitLab社区版
  • 一、前言
    • 1.简介
    • 2.环境
  • 二、正文
    • 1.更换镜像源
    • 2.安装依赖包
    • 3.安装
      • 1)方式一:YUM安装
      • 2)方式二:RPM安装
    • 4.配置GitLab
    • 5.管理GitLab
    • 6.设置
      • 1)选择语言
      • 2)注册限制
      • 3)配置SSH密钥
        • (1)本地生成SSH密钥
        • (2)GitLab配置SSH密钥
      • 4)postfix邮件通知
      • 5)配置HTTPS
      • 6)修改密码
    • 7.使用记录
      • 1)创建用户
      • 2)创建群组
      • 3)创建项目
      • 4)命令行指引
        • (1)Git 本地设置
        • (2)SSH添加文件
    • 8.Git可视化客户端

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.更换镜像源

  • 具体操作参考:《CentOS7切换镜像源和更新软件包》

2.安装依赖包

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

3.安装

1)方式一:YUM安装

(1)配置GitLab软件仓库

  • GitLab CE 网站:https://packages.gitlab.com/gitlab/gitlab-ce
  • 点击 【RPM】按钮

在这里插入图片描述

  • 点击 【copy】按钮

在这里插入图片描述

  • 下载并运行自动化脚本
mkdir /opt/gitlab && cd /opt/gitlabcurl -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安装

  • GitLab CE 网站:https://packages.gitlab.com/app/gitlab/gitlab-ce/search

  • 搜索:软件包格式和操作系统

在这里插入图片描述

  • 进入下载页面

在这里插入图片描述

  • 浏览器下载软件包,然后存放到安装目录
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密钥
  • 本地电脑下载安装 git
  • 下载网址:https://git-scm.com/

在这里插入图片描述

  • 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可视化客户端

  • 具体操作参考:《Ugit使用记录》
http://www.dtcms.com/a/335960.html

相关文章:

  • 从需求到部署全套方案:餐饮服务许可证数据可视化分析系统的大数据技术实战
  • 深入浅出全面理解贝叶斯框架(Bayesian Framework)
  • jinja2模板引擎全面解析
  • Python3字符串全面指南:从基础操作到40个内建函数实战
  • Go语言并发编程 ------ 锁机制详解
  • 深入理解 uni-app 页面导航:switchTab、navigateTo、redirectTo、reLaunch 与 navigateBack
  • 2.4 双向链表
  • QUIC浅析
  • 流浪循环 全DLC(Rogue Loops)免安装中文版
  • 超市电商销售分析项目:从数据分析到业务决策
  • 【架构师从入门到进阶】第五章:DNSCDN网关优化思路——第十一节:网关安全-对称与非对称加密
  • PHP静态类self和static用法
  • 【计算机视觉与深度学习实战】04基于K-Means聚类的图像分割系统设计与实现
  • Java Stream 初解
  • 14.web api 5
  • 基于MATLAB多智能体强化学习的出租车资源配置优化系统设计与实现
  • 无人机视角乱堆垃圾垃圾场地分割数据集labelme格式1501张1类别
  • qt svg缺失元素, 原因是不支持 rgba
  • Android studio gradle有关设置
  • 图解 setTimeout + 循环:var 共享变量 vs let 独立绑定
  • 《若依》介绍和环境搭建
  • 基于径向基函数神经网络的数据回归预测 RBF
  • 2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
  • 三维重建-动手学计算机视觉19(完结)
  • Android Studio中创建Git分支
  • ——分治——
  • metasploit 框架安装更新遇到无法下载问题如何解决
  • Sentinel和12.5米高程的QGIS 3D效果
  • 双椒派E2000D Sysfs与GPIO控制实战指南
  • KINGBASE集群日常维护管理命令总结