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使用记录》