Git_在飞牛中部署 GitLab_20260817

前言

GitLab 是一个基于 Web 的 DevOps 生命周期工具,提供了 Git 代码仓库、CI/CD、项目管理等一系列功能。本文将详细介绍如何在飞牛(FeiNiu)环境中部署 GitLab,帮助你快速搭建一个私有的代码托管和协作平台。

GitLab 官网https://about.gitlab.com/

部署方式

使用飞牛系统提供的镜像进行安装

ce:社区版本

ee:商用版本

runner:自动化容器(挖个坑之后再填)

安装步骤

下载好之后:

勾选开机自启,个人服务器,不需要资源限制

创建存储文件路径并建立映射

这是 Docker 容器的端口映射设置,规则非常简单:

  • 右边一列(容器端口) :GitLab 容器内部默认的服务端口,固定不要改,改了容器里的服务就对应不上了。
  • 左边一列(本地端口):你的 NAS 宿主机对外的端口,你可以自由修改,作用是「把 NAS 的某个端口,转发到容器内部对应的服务端口上」。

简单说:外部访问 NAS 的 IP: 本地端口 → 自动转发到 GitLab 容器:容器端口。

右边三个固定的容器端口,对应 GitLab 三项核心服务:

  1. 容器端口 22(SSH 服务) 作用:用于 git clone / git push 的 SSH 协议传输代码,是开发者常用的代码提交方式。
  2. 容器端口 80(HTTP 网页服务) 作用:未加密的网页访问 GitLab 管理界面,浏览器用 http:// 开头访问。
  3. 容器端口 443(HTTPS 加密网页服务) 作用:加密的网页访问,需要配置 SSL 证书后使用,浏览器用 https:// 开头访问。
本地端口(左边,自己改) 容器端口(右边,别动) 协议 说明
2222 22 TCP SSH 代码传输用
8080 80 TCP HTTP 网页访问用
8443 443 TCP HTTPS 加密访问用

网络设置直接不要动

模式 核心含义 特点
自定义(当前选中) 容器使用独立的虚拟网络,通过「端口映射」和宿主机通信 网络隔离性好,端口可控,多容器互不干扰;需要配合端口映射使用,是最通用、最稳妥的方案
Host 容器直接共用 NAS 宿主机的全部网络,没有隔离 容器里的端口会直接占用宿主机的端口,不需要做端口映射;但极易和 NAS 自带服务端口冲突,隔离性差,新手不推荐
不给容器分配网络 容器完全不能联网,也不能被访问,GitLab 用这个直接废了,不用考虑

下方的网络列表

  • bridge :Docker 默认的桥接虚拟网络,子网 172.17.0.0/16,所有用「自定义」模式的容器默认都接在这里,互相之间通过虚拟内网通信,对外靠端口映射暴露服务。
  • trim-default / idphotos_default / reference_default:你之前安装其他容器时自动生成的专属自定义网络,和 GitLab 无关,不需要勾选。

环境变量完全不要动

  1. PATH
    • 作用:Linux 系统的「可执行程序搜索路径」,里面列的是 GitLab 内置的工具目录(比如自带的 Git、Ruby、Nginx 等核心命令的存放位置)
    • 是否需要改:绝对不能改。改了容器内部会找不到 GitLab 的核心程序,直接导致启动失败,这是镜像内置的基础配置。
  2. LANG = C.UTF-8
    • 作用:系统语言与字符编码设置,指定全局使用 UTF-8 编码
    • 是否需要改:不用改。这个配置已经能保证中文文件名、中文代码、中文界面正常显示不乱码,是通用最优配置。
  3. EDITOR = /bin/vi
    • 作用:容器内部命令行的默认文本编辑器
    • 是否需要改:不用改。你日常都是通过网页使用 GitLab,几乎不会进入容器终端改文件,这个参数完全用不到。
  4. GITLAB_ALLOW_SHA1_RSA = false
    • 作用:SSH 密钥安全开关,控制是否允许使用 SHA1 算法的 RSA 密钥进行 SSH 认证
    • 是否需要改:保持 false 即可。SHA1 算法早已被判定为不安全,默认禁用是正确的安全策略;只有你手里有非常老旧、仅支持 SHA1 的 SSH 密钥时,才需要改成 true
  5. TERM = xterm
    • 作用:终端类型设置,决定命令行终端的显示格式与功能
    • 是否需要改:不用改。同样是容器内部终端的参数,日常网页使用完全无影响。

功能配置不需要更改,初始化命令也不需要更改

初始化

在容器内使用该命令获取gitlab中root用户登录密码

复制代码
cat /etc/gitlab/initial_root_password

点击80端口快速链接网页,用户名root,账号密码登录

设置中文

更改密码

时区设置

愉快的玩耍吧!

相关推荐
hasty27 分钟前
execSync() 拼接 Git 参数的代价:从元数据到供应链执行
git·安全·安全性测试
墨白曦煜1 天前
穿透 IDE 的障眼法:Git 四大工作区与核心数据流转解析
ide·git
idealzouhu1 天前
深入 Git 账户模型:从提交身份到 SSH 多账户隔离的完整实践
git·ssh
是2的10次方啊1 天前
误推 master 该 revert 还是 reset?撤销与补 MR 流程
git
菠萝加点糖2 天前
Git 删除远程文件、本地保留并取消跟踪
git
理智.6292 天前
Git 工具使用之项目版本回退与修改备份:stash、reset、reflog 常用指令详解
git·gitee·github
妙码生花2 天前
GIT 提交规范
git
云雀衔光2 天前
多个 MCP Server 怎么编排:数据库 / Redis / Git / 飞书一把梭
java·数据库·人工智能·redis·git·语言模型·飞书
极小狐2 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li2 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab