在飞牛nas系统上部署gitlab

在飞牛nas系统上部署gitlab需要使用docker进行部署,如下将介绍详细的部署流程。

文章目录

      • [1. docker镜像](#1. docker镜像)
      • [2. 拉取镜像](#2. 拉取镜像)
      • [3. 运行容器](#3. 运行容器)
      • [4. 运行和访问gitlab](#4. 运行和访问gitlab)
      • [5. 一些小配置](#5. 一些小配置)
        • [5.1 url问题](#5.1 url问题)
        • [5.2 ssh端口](#5.2 ssh端口)
        • [5.3 其他配置](#5.3 其他配置)

1. docker镜像

首先需要找一个gitlab的docker镜像地址,点击地址进行访问,如下的界面:

按照自己的喜欢选择一个喜欢的版本,然后点击进去,比如点击第一个进去:

然后复制这个地址,后续会用上:

shell 复制代码
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:18.0.0-ce.0

2. 拉取镜像

访问fn nas的页面,然后打开Docker

在这里配置好docker服务的一些基础配置,存储位置选择一个自己偏爱的即可。

然后打开本地镜像,然后点击添加镜像,再点击添加下载链接

然后将刚才的链接复制进去:

直接点击确定,就可以看到镜像管理多了一个镜像了。

3. 运行容器

本地镜像中的镜像管理中已经多了一个镜像,我们直接点击运行,然后进行配置:

在弹窗页面中进行配置,第一步配置资源限制:

这里的资源限制看自己的机器具体情况吧,分配合理即可。然后点击下一步。

这里的三个端口的映射按照自己的需要进行配置,千万注意不要和本地的其他端口占用冲突了,否则还得删除重新来运行容器配置。

这一步的时候,我们使用我们电脑上的终端软件来使用ssh访问我们的nas,比如:

shell 复制代码
ssh xxx@ip

然后我们在终端里面处理一些东西:

shell 复制代码
# 首先切换到root用户
sudo su

# 我们访问到存储的分区上,比如之前的docker服务中我们选择了存储空间2,那么就是 /vol2,如果是其他的空间就是对应的 /vol0 或者 /vol3 等等......
cd /vol2
 
# 然后看喜好,在这个分区下创建目录,比如
mkdir -p gitlab_data/etc
mkdir -p gitlab_data/opt
mkdir -p gitlab_data/log

然后我们得到这样的:

然后我们记住这三个地址:

shell 复制代码
/vol2/gitlab_data/etc
/vol2/gitlab_data/opt
/vol2/gitlab_data/log

然后我们回到刚刚的高级设置上面:

将这三个位置对应进行填写。然后点击下一步。得到这样的:

我们点击创建,这里就可以完成了。

4. 运行和访问gitlab

然后回到容器上就可以看到运行起来的容器了。

我们点击这个链接:

然后就可以访问了。

但是点击之后大概率浏览器访问不了,是因为给的地址是https的,但是gitlab实际上默认使用http,你只要将地址进行修改一下即可访问,比如是https://10.1.41.13:2080,将其修改为http://12.1.12.13:2080

然后就可以进行各种处理了。

5. 一些小配置

5.1 url问题

刚刚创建的gitlab,你创建项目之后会发现点击代码进行克隆的时候,地址上的url大概是http://gitlab.ce/xxxxx,这个就很头疼,还需要自己去进行手动修改,很麻烦,那我们需要进行修改,让他能得到如下的形式:

我们回到之前的那个ssh的终端,进行操作:

shell 复制代码
vim /vol2/gitlab_data/etc/gitlab.rb

然后我们修改如下这一行:

原本是注释的,我们解除注释,然后修改内容为nas系统的ip,一定是http://ip的格式。

5.2 ssh端口

我们更多的直接使用ssh方式进行git代码的克隆安排,但是发现上面配置完成之后,即使把密钥都配置好了,还是无法使用,是因为我们的gitlab的ssh端口并不是22,而是被我们改成了2022这个映射,所以还需要配置。

还是之前的ssh终端,进行操作:

shell 复制代码
vim /vol2/gitlab_data/etc/gitlab.rb

然后将ssh的端口改成我们的映射端口:

5.3 其他配置

比如https的配置,或者中文页面等等,可以参考我的博客

这个博客中也写了如何在一个linux系统上部署gitlab。

相关推荐
循环渐进Forward13 小时前
Go语言:给AI开发装上高性能引擎
开发语言·人工智能·golang
数据知道13 小时前
Go基础:用Go语言操作MySQL详解
开发语言·数据库·后端·mysql·golang·go语言
励志不掉头发的内向程序员13 小时前
【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 进程状态
linux·运维·服务器·开发语言·学习
掘根13 小时前
【Qt】事件
开发语言·qt
毕设源码-赖学姐13 小时前
【开题答辩全过程】以 Python在浙江省人口流动数据分析与城市规划建议的应用为例,包含答辩的问题和答案
开发语言·python·数据分析
九天轩辕13 小时前
用一个 Bash CLI 管理多款 AI 开发工具:jt-code-cli 实战与原理解析
开发语言·人工智能·bash
万邦科技Lafite14 小时前
如何对接API接口?需要用到哪些软件工具?
java·前端·python·api·开放api·电商开放平台
1710orange14 小时前
java设计模式:静态代理模式
java·设计模式·代理模式
VBA633714 小时前
数组与字典解决方案第三十讲:如何将记录集的数据记入数组
开发语言
m0_4805026414 小时前
Rust 登堂 之 Cell 和 RefCell(十二)
开发语言·后端·rust