跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Shell / Bashjava

GitLab 配置与 Git 集成实践

综述由AI生成持续集成(CI)概念及 Jenkins 工具,详细演示了基于 Docker 部署 GitLab 服务器的步骤,包括环境准备、镜像拉取、容器挂载、配置文件修改及 SSH 密钥设置。最后展示了如何将本地若依项目初始化并推送到远程 GitLab 仓库,实现了基础的版本管理与集成流程。

随缘发布于 2026/3/22更新于 2026/5/629K 浏览

一、持续集成及 Jenkins 介绍

软件开发生命周期(Software Development Life Cycle,SDLC)是集合了计划、开发、测试和部署过程的完整流程:

  1. 对项目进行需求分析
  2. 设计方案解决需求
  3. 开发进行代码开发,将方案进行实战
  4. 对开发的软件进行测试,包括功能、代码、压力等测试
  5. 后续持续对产品进行更新迭代。

需求分析:根据项目需求进行可行性分析,收集信息,制定项目目标和预算 设计:设计系统架构和功能,创建项目计划 实现:开发人员根据任务进行代码开发 测试:进行功能测试、代码测试、压力测试等 进化:产品持续改进、维护和功能优化

1.3 持续集成概念

持续集成(Continuous Integration)指的是频繁地将代码集成到主干,核心措施是代码集成前必须通过自动化测试。 持续集成流程:

  1. 提交:开发者向代码仓库提交代码
  2. 测试:代码仓库触发自动化测试
  3. 构建:将源码转换为可运行的实际代码
  4. 测试:进行第二轮全面测试
  5. 部署:将版本部署到生产服务器
  6. 回滚:出现问题时可快速回滚 持续集成组成要素:
  • 自动构建过程
  • 代码存储库(GitLab/SVN)
  • 持续集成服务器(Jenkins)

1.4 Jenkins 介绍

Jenkins 是一款流行的开源持续集成工具,具有以下特征:

  1. 开源的 Java 语言开发
  2. 易于安装部署配置
  3. 支持消息通知和测试报告
  4. 分布式构建能力
  5. 丰富的插件支持

二、GitLab 配置与 Git 集成实践

2.1 GitLab 概述

GitLab 是一个用于仓库管理系统的开源项目,基于 Git 作为代码管理工具,具有以下特点:

  1. 开源免费(基于 MIT 协议)
  2. 可部署到自己的服务器
  3. 适合团队内部协作开发
  4. 提供完整的代码管理功能

2.2 部署 GitLab 服务器

环境要求:

  • 安装 Docker
  • 虚拟机至少 4G 内存
  • CentOS 7/8 系统
  • IP: 10.0.0.11
  • 关闭网络增强服务与防火墙

图片

2.3 安装 GitLab 环境

这里是用容器进行安装。

第一步 拉取 GitLab 镜像

docker pull beginor/gitlab-ce

图片

第二步 创建容器并且将 GitLab 的配置文件目录、日志目录、数据目录进行挂载

mkdir -p /data/gitlab/{etc,log,data}
chmod 777 /data/gitlab/{etc,log,data}

图片

docker run -itd --name=gitlab --restart=always --privileged=true -p 8443:443 -p 88:80 -p 222:22 -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/log:/var/log/gitlab -v /data/a:/var/opt/gitlab beginor/gitlab-ce:latest

参数说明:

  • --restart=always:退出容器时自动重启
  • -p 8443:443:HTTPS 映射
  • -p 88:80:HTTP 映射
  • -p 222:22:SSH 映射,用于克隆代码
  • --privileged=true:给容器赋权

图片

第三步 修改配置文件(尽量在宿主机的挂载点改)

vim /data/gitlab/etc/gitlab.rb

使用 sed 命令锁定修改:

sed -i "/external_url 'GENERATED_EXTERNAL_URL'/a external_url\t'http://10.0.0.11:88' " /data/gitlab/etc/gitlab.rb
sed -i "/gitlab_ssh_host/a gitlab_rails['gitlab_ssh_host']= '10.0.0.11' " /data/gitlab/etc/gitlab.rb
sed -i "/gitlab_shell_ssh_port/a gitlab_rails['gitlab_shell_ssh_port'] = 222" /data/gitlab/etc/gitlab.rb

图片

第四步 重启容器尝试访问 10.0.0.11:88 并创建新密码

图片

第五步 创建一个群组,群组名字为 yjs

图片 图片 图片

第六步 创建该群组负责的项目,项目名字为 yjs1023

图片

第七步 创建 SSH 密钥(在宿主机上) 创建密钥对:

ssh-keygen -t rsa -C "[email protected]"

第八步 将密钥给 GitLab 查看公钥:

cat /root/.ssh/id_rsa.pub

图片

将公钥添加到 GitLab。

图片

三、上传若依项目到 GitLab

3.1 下载 Ruoyi 项目

通过 Git 命令在 Gitee 中下载一个 Ruoyi 项目。

图片

3.2 初始化本地仓库

在 Ruoyi 目录初始化一个目录,为本地仓库添加一个远程仓库地址,名称为 origin。

git init
git remote add origin ssh://[email protected]:222/yjs/yjs-1023.git

图片

3.3 暂存文件

将当前目录所有文件或目录打包在远程仓库中:

git add .

3.4 提交

git commit -m "Initial commit"

3.5 推送

将远程仓库 origin 中的文件上传:

git push -u origin master

图片 图片

目录

  1. 一、持续集成及 Jenkins 介绍
  2. 1.3 持续集成概念
  3. 1.4 Jenkins 介绍
  4. 二、GitLab 配置与 Git 集成实践
  5. 2.1 GitLab 概述
  6. 2.2 部署 GitLab 服务器
  7. 2.3 安装 GitLab 环境
  8. 三、上传若依项目到 GitLab
  9. 3.1 下载 Ruoyi 项目
  10. 3.2 初始化本地仓库
  11. 3.3 暂存文件
  12. 3.4 提交
  13. 3.5 推送
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 大模型应用开发:高级 RAG 技术实践
  • 量化、算子融合与内存映射:C 语言实现 AI 推理优化
  • Metric3D v2: 零样本单目度量深度与表面法线估计基础模型
  • Spring Boot 日志实战指南:从入门到高级配置
  • 开源 AI 编程工具对比:Superpowers 技能库与 OpenSpec 规范驱动
  • Python Web 自动化测试实战:常用函数全解析与场景化应用指南
  • Hash 校验 MD5 值及 SHA1 值
  • Ubuntu 部署 OpenClaw 完整指南
  • Linux 终端动态进度条实现:原理、编码与优化
  • Sublime Text 3 在 Windows 10 上的安装与配置指南
  • OpenClaw:自托管无代码 AI Agent 框架技术剖析
  • Transformer 模型架构与核心原理详解
  • Python PySerial 串口通信库入门与实战
  • 前端开发者 Agent 工程化开发学习路线
  • Python 面向对象学生管理系统设计与实现
  • 2026主流AI大模型横评与选型指南
  • OpenClaw 安装百度网页搜索技能指南
  • Win10 升级后弹出 Microsoft 365 Copilot 窗口如何禁用
  • GitHub Copilot 在 VSCode 中的使用指南
  • OpenAI Codex 与 GitHub Copilot:2025 年开发者选型对比

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online