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,账号密码登录

设置中文

更改密码

时区设置

愉快的玩耍吧!

相关推荐
老李IT笔记15 小时前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
Joecien16 小时前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
行者-全栈开发21 小时前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地
Flynt2 天前
Claude Code 103 秒删掉 4.8 万个文件之后,我把自己的仓库"删"了一遍:git 能救的比你想的少
git·ai编程·claude
csdn2015_2 天前
git 可以修改已经push上去的commit说明吗
git
MinggeQingchun3 天前
Git - 令牌登录
git
极小狐3 天前
CI 作业里 kubectl 连不上集群?用 Kubernetes Agent 打通部署链路的 7 个步骤
ci/cd·kubernetes·gitlab·devops·k8s部署
xhy_07073 天前
Git 合并冲突怎么解决?用 AI 处理冲突的流程、Prompt 和 4 个易错点
人工智能·git·安全·prompt·ai编程·代码复审
Zhou1411363 天前
Git_02_GitLab协作与CI_CD
git·ci/cd·gitlab