为 NAS 赋能,部署全球第二大开源代码托管平台 GitLab
Hello 大家好,我是 David
订阅我的频道 ,分享更多 NAS 教程和资讯 ~
GitLab:
一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。它提供了一个完整的版本控制系统,允许开发者协同开发、管理和追踪代码变更。

GitLab 本地部署有 Community Edition(社区版),Enterprise Edition(企业版)两个版本,其中 CE 版为免费,EE 版需要收费。

目前国内用户访问 GitLab 官网会提示,国际版停止对中国用户提供账号服务,推荐现有用户迁移至极狐 GitLab. cn

极狐 GitLab:
GitLab 中国发行版(JH),更加适配国内生产环境,提供更完备的原厂服务。

安装
Docker Compose
services:
gitlab-jh:
image: registry.gitlab.cn/omnibus/gitlab-jh:latest
container_name: gitlab-jh
restart: always
ports:
- '19080:80'
- '19443:443'
- '19022:22'
volumes:
- /vol1/1000/docker/gitlab-jh/config:/etc/gitlab
- /vol1/1000/docker/gitlab-jh/logs:/var/log/gitlab
- /vol1/1000/docker/gitlab-jh/data:/var/opt/gitlab
参数说明
80:HTTP 端口
443:HTTPS 端口
22:SSH 端口
/var/opt/gitlab:用于存储应用程序数据
/var/log/gitlab:用于存储日志
/etc/gitlab:用于存储极狐GitLab 配置文件
镜像比较大,需要下载时间比较久

如果是部署在飞牛系统可能会遇到权限问题,改为用其他 NAS 系统就没问题了

使用
浏览器中输入 http://NAS的IP:19080 就能看到界面

TIP:
出现这个属于正常现象,说明服务还没运行起来(运行启动需要比较长时间)

点击右上角,先设置语言为中文

获取密码,打开容器终端输入:
cat /etc/gitlab/initial_root_password
输入用户名和密码进行登录

TIP:
如果显示 422,可能网页打开太久了,可以关闭浏览器重新打开

进入面板

设置中文
点击头像,选择“Preferences”

语言选择中文,点击保存

手动刷新网页就变成中文了

修改密码
为了避免忘记密码,修改系统初始化密码

可能还会出现 500 报错不用管,等待系统重启即可

重新输入账号和密码进行登录

更换头像
可以看到左上角头像并没有加载不出来

点击“编辑个人资料”

选择上传头像,点击更新个人资料设置(注意头像大小是有限制的)

注册限制
这里顶部需要设置一下注册限制

根据实际情况设置,如果是一个人用可以选择停用

设置完成点击“保存更改”

提醒如果还在,可以点击右上角关闭

创建项目
这里只简单说说简单日常使用,详细的建议自行去官网学习
点击“新建项目/仓库”

点击“创建空白项目”

填写一下基本信息就行,还是比较简单的(可见性级别,最好先选择公开)

这样就创建完成了

修改地址
可以看到这里的 SSH 和 HTTP 的克隆地址都是有问题的

先关闭容器,打开对应映射容器路径“/etc/gitlab”的目录,编辑 gitlab.rb 文件

搜索“external_url ”,根据实际情况填写 HTTP 克隆地址(端口号就是映射的 80 端口)

搜索“nginx['listen_port'] ”,指定容器内监听 80 端口

搜索“gitlab_rails['gitlab_ssh_host']”,修改为 SSH 克隆地址(不要加端口号)

搜索“gitlab_rails['gitlab_shell_ssh_port']”,修改为映射的 SSH 端口

重启应用以后,再看看项目地址就是正常的了

拉取项目
这里就不详细展开了,安装Git(无脑默认安装)

安装完成,鼠标右键可以看到多了两个 Git 选项,选择第二个命令行形式

先设置 Git 身份

复制上面命令输入,用户名和密码可以改成自己的(这里我是直接复制使用了)
git config --global user.name "用户名"
git config --global user.email "邮箱"
查看配置信息(可以看到已经配置成功)

生成SSH密钥(全部回车就行)
查看公钥(复制上面内容)
打开个人设置

添加 SSH 密钥

将之前生成的密钥粘贴上去,到期时间可以不设置

这样就添加成功了

下面就是 Git 拉取项目

输入命令拉取没问题
可以看到已经创建一个文件夹(里面是空的,是因为并没有初始化仓库)

推送仓库
在这个就是从 GitLab 拉取下来的项目文件夹里面,随便放入文件

查看当前状态(可以在这里看到修改的内容)
添加全部文件到 git 暂存区
git add .
添加注释信息
提交代码到远程仓库(如果是默认主分支,可以直接使用:git push)
GitLab 仓库已经看到提交的文件了(上面提交有时候会有问题报 500,提交失败)

总结
GitLab 是全球第二大开源代码托管平台,很多开发团队也都用这个,所以遇到问题也有很多人给出解决方案。使用体验还是挺不错的,功能确实很丰富,虽然功能多,但是找起来也很方便(逻辑分类的很好)。
对于纠结部署国际版还是国内版的用户,我很早之前其实就已经做过一期关于部署 GitLab 国际版的教程,这次的是国内版本。虽然没有深入使用,但目前体验下来个人觉得用起来都差不多。
综合推荐:⭐⭐⭐⭐(看个人需要)
使用体验:⭐⭐⭐⭐(不错)
部署难易:⭐⭐⭐(常规)

需要打算长期稳定使用的用户,需要特别注意有时候会提示 500 报错,虽然刷新一下就好了,但是肯定存在问题的。这里我没有去细究哪里出问题和处理,需要自行解决了。

︎
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~






