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

ubuntu24.04搭建GitLab服务器

ubuntu24.04搭建gitlab服务

  • 简述
  • 安装GitLab
  • 配置GitLab
  • 访问与初始化
  • 修改默认密码
  • 日常管理维护
  • 数据备份
  • 数据恢复
  • 进阶配置(可选)
  • 使用方法简述

简述

GitLab是一个功能强大的DevOps平台,涵盖了从项目规划、源代码管理到持续集成、部署和监控的整个开发生命周期。下面这个流程图梳理了GitLab的核心功能模块和学习路径:
在这里插入图片描述

安装GitLab

  1. 安装依赖包
sudo apt update
sudo apt install -y curl openssh-server ca-certificates postfix
  • 在安装postfix(邮件服务器)时,可能会弹出配置窗口。如果你有域名并计划用于GitLab,可以选择"Internet Site"并设置域名;如果暂时不需要邮件功能或没有域名,也可以先跳过,后续再配置。
  1. 添加GitLab软件仓库并安装
    接下来,我们通过官方仓库安装GitLab。这里提供了官方源和国内镜像源两种方式,国内镜像通常速度更快。
  • 使用官方源安装:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt install gitlab-ce
  • 使用国内清华镜像源安装(推荐)
# 将镜像源添加到源列表
sudo vim /etc/apt/sources.list.d/gitlab-ce.list
# 在文件中添加以下行
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu noble main# 安装信任证书并更新软件列表
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
sudo apt update
sudo apt install gitlab-ce

安装成功后打印个很有创艺的Gitlab Logo:
在这里插入图片描述

配置GitLab

  1. 配置外部访问地址(关键步骤)
    GitLab最重要的配置是设置其外部访问地址。编辑配置文件/etc/gitlab/gitlab.rb,找到external_url项。
  • 如果你有域名(例如gitlab.example.com):
external_url 'http://gitlab.example.com'
  • 如果你只有IP地址(例如192.168.0.136):
external_url 'http://192.168.0.136'

注意:一定要带’http://’ 或安全访问’https://’ 需要安装认证证书

  • 注意:如果服务器的80端口已被占用,或者你想使用其他端口,可以在IP或域名后加上端口号,例如 http://192.168.0.136:8080

可以使用如下命令查看指定端口是否被占用,没有输出为未占用:

sudo ss -tulpn | grep 80
# 或
sudo netstat -tulpn | grep 80
  1. 应用配置并启动GitLab
    执行以下命令使配置生效,这会启动所有必要的服务,这个过程可能需要几分钟,请耐心等待。
sudo gitlab-ctl reconfigure
  1. 配置防火墙
    如果系统防火墙(UFW)是开启状态,需要放行HTTP和HTTPS流量
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh  # 确保SSH端口开放,以免被锁在服务器外
sudo ufw reload

访问与初始化

  1. 访问GitLab并查找初始密码
    在浏览器中输入你配置的external_url地址(如http://192.168.1.100)。
    首次访问会要求你设置管理员root的密码。初始密码存储在服务器的一个文件中,可以通过以下命令查看
sudo cat /etc/gitlab/initial_root_password 

注意:此密码文件将在24小时后被自动删除,出于安全考虑,请尽快登录后修改密码。

如果提示错误可能是puma端口冲突,编辑gitlab.rb重新配置后重新启动
sudo vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.0.136:8080'puma['port'] = 8081

重新配置,重新启动

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

在这里插入图片描述

输入管理员账号密码登录
Username:root
Password:“初始密码”

操作到这一步输入 http://192.168.0.136:8080显示如下
在这里插入图片描述
选择:Acknowledge
在这里插入图片描述

修改默认密码

Overview=>Users=>Administrator行点击 Edit
在这里插入图片描述
输入需要修改的信息点击Save changes保存修改内容
在这里插入图片描述
使用修改后的账号密码重新登录
在这里插入图片描述

日常管理维护

  • 服务器管理常用命令
sudo gitlab-ctl restart    # 重启所有GitLab服务
sudo gitlab-ctl stop       # 停止所有GitLab服务
sudo gitlab-ctl status     # 查看各服务状态
sudo gitlab-rake --version # 查看gitlab-rake版本 不是GitLab的版本
sudo gitlab-rake gitlab:env:info # 查看GitLab详细信息

数据备份

定期备份是一个好习惯。可以使用以下命令创建备份

# 
sudo gitlab-backup create# GitLab 12.2 之前版本旧命令,已弃用
sudo gitlab-rake gitlab:backup:create

备份文件默认存储在/var/opt/gitlab/backups/目录。
备份文件示例:1710123456_2025_03_10_16.8.0_gitlab_backup.tar

备份内容包含:

  • Git 仓库
  • 数据库(用户、项目、权限、Issue、CI/CD 等)
  • 上传的附件(头像、LFS 文件、Wiki 等)

手动备份配置
备份命令不包含以下关键配置文件,需单独保存:

# 主配置文件
sudo cp /etc/gitlab/gitlab.rb ~/gitlab.rb.backup# 加密密钥(用于解密数据库中的敏感数据,如 CI 变量、两步验证等)
sudo cp /etc/gitlab/gitlab-secrets.json ~/gitlab-secrets.json.backup

数据恢复

  1. 安装原GitLab版本
# 查看原 GitLab 版本(在备份文件名中)
# 如:..._16.8.0_gitlab_backup.tar → 版本为 16.8.0# 在新服务器上安装对应版本
sudo apt install gitlab-ce=16.8.0-ce.0
  1. 停止 Puma 和 Sidekiq 服务
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
  1. 将备份文件复制到新服务器
scp oldserver:/var/opt/gitlab/backups/1710123456_2025_03_10_16.8.0_gitlab_backup.tar /var/opt/gitlab/backups/
sudo chown git:git /var/opt/gitlab/backups/*.tar
  1. 恢复数据
sudo gitlab-backup restore BACKUP=1710123456_2025_03_10_16.8.0
  1. 恢复配置
sudo cp ~/gitlab.rb.backup /etc/gitlab/gitlab.rb
sudo cp ~/gitlab-secrets.json.backup /etc/gitlab/gitlab-secrets.json
  1. 重新配置并启动
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
  1. 验证恢复结果
sudo gitlab-rake gitlab:check SANITIZE=true

进阶配置(可选)

  • 配置HTTPS访问
    为了更高的安全性,建议配置SSL证书启用HTTPS。你可以从Let’s Encrypt获取免费证书,或者使用自己的商业证书。配置需要在/etc/gitlab/gitlab.rb中修改external_url为https://,并配置证书路径。

  • 配置外网访问
    如果你希望GitLab能从公司或家庭网络之外访问,你需要:

  1. 在云服务平台的安全组规则中,放行你配置的端口(如80、443)。
  2. 如果你在局域网内,还需要在路由器上设置端口转发,将公网IP的端口转发到内网GitLab服务器的IP和端口。

使用方法简述

在这里插入图片描述

  • 创建项目组
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 方式1:克隆仓库到本地
    将远端服务器创建的空白git仓库克隆到本地,然后在此基础上做项目开发
    在这里插入图片描述

  • 方式2:本地仓库添加remote仓库
    本地已经有项目代码
    创建stm32f103rct6_modbus空白项目,然后执行如下命令:

git remote add origin http://192.168.0.136:8080/stm32f103/stm32f103rct6_modbus.git
git branch -M master
git push -uf origin master
http://www.dtcms.com/a/613363.html

相关文章:

  • 前端 vs 后端:入行软件行业,我该如何选择?哪个更“简单”?
  • 网站产品策划中国建设银行遵义市分行网站
  • 【自适应卡尔曼滤波】(EKF、UKF、CKF等可通用)的创新思路:哪些参数该使用自适应思想来调整、该怎么调
  • RHCSE--SELinux
  • 安装k8s过程中涉及知识点梳理
  • 公司网站建设费用如何做账英语可以做推广的亲子类网站
  • 【2025】Java 从入门到实战:核心特性全解析(方法、类与对象、多态三大特性及关键字thissuper)附带代码案例
  • FSMC-TFTLCD显示实验(1)
  • Node.js 实现 Stripe 支付的简单示例
  • Claude、Agent与Copilot协作生成Angular应用
  • 建行广东茂名茂南支行:积极走进会展商圈,助力金融赋能消费提振
  • LDO(Low Dropout Regulator)是什么?
  • 专门做win7系统的网站免费金融发布网站模板
  • 网络安全:SQL 注入:SQLmap
  • UI设计公司审美积累|APP界面从风格到功能的设计智慧
  • 分布式专题——57 如何保证MySQL数据库到ES的数据一致性
  • 厦门建站公司哪家好wordpress 虚拟商城
  • 分布式专题——56 微服务日志采集与分析系统实战
  • 团购网站自个做中国最好室内设计公司排名榜
  • 如何使用WPF做工控主页
  • 深入探讨HarmonyOS分布式剪贴板:技术原理与开发实践
  • USB3.0PHY介绍
  • Three.js的阴影相关实现路径
  • WPF转换器机制
  • SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(三)
  • 如何用WPF做工控设置界面
  • ✨WPF编程进阶【7.2】:动画类型(附源码)
  • 建设网站的安全性介绍深圳seo优化排名推广
  • 上海迈诺网站建设东莞专业做网站的公司有哪些
  • 深度学习中的激活函数全解析:该选哪一个?