Gitlab本地服务器搭建及配置-详细教程

文章目录

  • 1.简介
  • 2.Gitlab安装
  • 3.Gitlab配置
    • [3.1 端口配置](#3.1 端口配置)
    • [3.2 root登录配置](#3.2 root登录配置)
      • [3.2.1 查看默认root密码](#3.2.1 查看默认root密码)
      • [3.2.1 中文设置](#3.2.1 中文设置)
      • [3.2.3 修改root密码](#3.2.3 修改root密码)
    • [3.3 关闭升级与启用注册](#3.3 关闭升级与启用注册)
    • [3.4 测试注册功能](#3.4 测试注册功能)
      • [3.4.1 普通用户注册](#3.4.1 普通用户注册)
      • [3.4.2 管理员审批](#3.4.2 管理员审批)
    • [3.5 设置默认主分支名称](#3.5 设置默认主分支名称)
  • 4.用户免密登录设置
  • 5.首次代码推送
    • [3.6 其他常用配置路径](#3.6 其他常用配置路径)
    • [3.7 其他GitLab常用命令](#3.7 其他GitLab常用命令)
  • 4.待更新

1.简介

GitLab 是集代码托管、DevOps 自动化于一体的研发平台,最大特色是开源免费私有化部署,企业级流程与权限管控能力强劲。

对比 GitHub:GitHub 胜在全球开源生态与社区,GitLab 强于私有化部署和一站式 DevOps;

对比 Gitee:Gitee 主打国内高速访问与本土化服务,GitLab 在企业级自动化、私有化功能上更全面。

2.Gitlab安装

以Centos7为例,首先更换阿里的软件源:教程如下:

x86及ARM架构的Centos系统更换yum源,提升软件下载更新速度

安装 GitLab

bash 复制代码
# 直接安装最新版
yum install -y gitlab-ce 

软件包比较大,需要耐心等待

出现如下样式代表安装成功:

3.Gitlab配置

3.1 端口配置

注意关闭防火墙或针对拟开通端口开放策略,否则Gitlab服务端口可能无法访问。

编辑/etc/gitlab/gitlab.rb 这个配置文件,修改如下行为需要的后台地址:

配置完成后,执行重新加载配置文件指令,启动过程较长,约3-10分钟不等,需要耐心等待一会儿

bash 复制代码
gitlab-ctl reconfigure

使用如下命令查看运行状态:

bash 复制代码
gitlab-ctl status

访问刚才配置的地址127.0.0.1:8888,测试可正常打开:

3.2 root登录配置

3.2.1 查看默认root密码

bash 复制代码
cat /etc/gitlab/initial_root_password

然后使用用户名:root,和如上密码可以登录后台网页 (此处使用了网页翻译)

3.2.1 中文设置

后台中的偏好设置可以选择简体中文,保存然后刷新页面即可

3.2.3 修改root密码

从后台网页修改后重新登录即可

3.3 关闭升级与启用注册

打开如下配置即可关闭升级提示,并启用注册功能

3.4 测试注册功能

3.4.1 普通用户注册

选择注册,填写账号密码、邮箱等信息,注意注册后不能立即登录,需要root管理员审批

3.4.2 管理员审批

管理中心-用户菜单下,可以看到待通过的账号,点击批准即可。

3.5 设置默认主分支名称

有时候为了保持和github或者gitee统一,需要修改主分支名称为master或者main,可以在如下配置:

4.用户免密登录设置

首先生成本机的密钥,依次执行:

bash 复制代码
cd ~/.ssh
# 设置你的邮箱
ssh-keygen -t rsa -C "XXXX@XXXXX.cn"

#查看密钥
 cat id_rsa.pub

然后在SSH密钥里面添加即可

5.首次代码推送

全局设置

bash 复制代码
git config --global user.name "gitlab的账号"
git config --global user.email "注册gitlab的邮箱"

初次上传

bash 复制代码
# 初始化
git init
# gti仓库地址根据实际替换
git remote add origin git@gitee.com:XXXXXX/XXXXXXXXXXXX.git
# 添加文件
git add.
# 添加提交描述
git commit -m "firet add"
# 上传到master分支
git push origin master

3.6 其他常用配置路径

bash 复制代码
gitlab组件日志路径:/var/log/gitlab
gitlab配置路径:/etc/gitlab/  路径下有gitlab.rb配置文件
应用代码和组件依赖程序:/opt/gitlab
各个组件存储路径: /var/opt/gitlab/
仓库默认存储路径   /var/opt/gitlab/git-data/repositories
版本文件备份路径:/var/opt/gitlab/backups/
nginx安装路径:/var/opt/gitlab/nginx
redis安装路径:/var/opt/gitlab/redis

3.7 其他GitLab常用命令

bash 复制代码
#查看服务状态
gitlab-ctl status
使用控制台实时查看日志
# 查看所有的logs; 按 Ctrl-C 退出
gitlab-ctl tail
# 拉取/var/log/gitlab下子目录的日志
gitlab-ctl tail gitlab-rails
# 拉取某个指定的日志文件
gitlab-ctl tail nginx/gitlab_error.log

#启动关闭gitlab    
gitlab-ctl start      
gitlab-ctl stop                                #停止            
gitlab-ctl status                              #查看状态
gitlab-ctl restart                             #重启

gitlab-ctl reconfigure               #更新配置文件
gitlab-ctl help                                #帮助
gitlab-rake gitlab:check SANITIZE=true --trace    检查gitlab
#gitlab 默认的日志文件存放在/var/log/gitlab 目录下
gitlab-ctl tail                                #查看所有日志

#禁止 Gitlab 开机自启动
systemctl disable gitlab-runsvdir.service 
#启用 Gitlab 开机自启动
systemctl enable gitlab-runsvdir.service

4.待更新

Loading...

相关推荐
ly76895 分钟前
Git 从入门到实战:原理、工作流、分支管理、撤销恢复与团队协作
git·源代码管理
JavaDog程序狗1 小时前
【规范】这套 Git 规范,救了整个团队
git·代码规范·workflow
喜乐MI1 小时前
Git 分支操作避坑指南:merge、cherry-pick、revert 与 reset 怎么选?
git·github
程序员老赵1 小时前
Docker 部署禅道 ZenTao:轻松搭建研发项目管理平台
前端·后端·github
敢敢是只喵i2 小时前
已经登录 BailingHub,为什么 AI 还是不能查询订单?匿名预览与业务身份不是一回事
github
dong_junshuai3 小时前
每天一个开源项目#73 Munder Difflin:2.3K Star 的本地多Agent办公室
开源·github·agent
SL_staff3 小时前
销售知识管理的断点分析与技术解法:从3天找话术到秒级检索
java·开源·github
苏灿烤鱼5 小时前
上下文写成文件系统,为什么向量还能静默丢?
python·github·agent
u1301305 小时前
GitHub 热榜项目:日榜(2026-08-19)
github
AI 编程助手GPT6 小时前
VS Code 1.133 实战:Claude 可免 GitHub 登录,HTML 保存后自动刷新
前端·html·github