基于Docker搭建Gitlab代码仓库

基于Docker搭建Gitlab代码仓库

gitlab支持Linux安装包(Omnibus),云原生、docker几种方式安装。本文记录使用Docker搭建GitLab。

1. 先决条件

1.1 安装需求

Gitlab依赖的软件,例如PG、Redis等组件已经统一打包为单个容器镜像,会作为一个容器运行。这里仅说明硬件要求:

CPU

以下是针对部分用户数量群体,推荐的最低 CPU 硬件要求。

  • 4 核 是推荐的最小核数,支持多达 500 名用户
  • 8 核支持多达 1000 名用户

CPU 需求取决于用户数量和预期的工作负载,确切需求更多地取决于您的工作负载。您的工作负载受多重因素影响,不限于您的用户活跃程度、您使用的自动化程度、镜像、制品库大小和变更大小。

内存

以下是针对部分用户数量群体,推荐的最低内存硬件要求。

  • 4GB RAM必需的最小内存,支持多达 500 名用户
  • 8GB RAM 支持多达 1000 名用户

内存需求取决于用户数量和预期的工作负载,确切需求更多地取决于您的工作负载。您的工作负载受多重因素影响,不限于您的用户活跃程度、您使用的自动化程度、镜像、制品库大小和变更大小。

存储

Omnibus GitLab 软件包需要大约 2.5 GB 的存储空间用于安装。必要的硬盘空间在很大程度上取决于您想在极狐GitLab 中存储的仓库的大小,但作为准则,您应该至少拥有与所有仓库组合占用的空间一样多的可用空间。

1.2 docker环境准备

参考Docker官方安装文档安装Docker环境。

本文以ubuntu 20.04系统为例:

apt update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
\# 这里使用的是阿里云的 Docker 镜像源,您也可以选择其他中国国内的镜像源,比如 DaoCloud、网易云等。
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

说明

Docker for Windows 不受gitlab官方支持,存在卷权限的已知问题,以及潜在的其他未知问题。

2. 设置卷位置

配置一个新的环境变量 $GITLAB_HOME,指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限。

export GITLAB_HOME=/data/gitlab

GITLAB_HOME 环境变量应该附加到您的 shell 的配置文件中,以便它应用于所有未来的终端会话:~/.bash_profile

GitLab 容器使用主机装载的卷来存储持久数据:

本地位置 容器位置 使用
$GITLAB_HOME/data /var/opt/gitlab 用于存储应用程序数据。
$GITLAB_HOME/logs /var/log/gitlab 用于存储日志。
$GITLAB_HOME/config /etc/gitlab
### 如何在 Synology 群晖 NAS 上使用 Docker 部署和配置 GitLab #### 准备工作 为了确保顺利部署,在共享文件夹中的 `docker` 文件夹下预先创建必要的子文件夹用于存储数据、日志以及配置文件。具体路径如下: - `/docker/gitlab/data` 对应于容器内的 `/var/opt/gitlab`,用来保存 GitLab 的实际数据[^1]。 - `/docker/gitlab/logs` 映射至容器内部的 `/var/log/gitlab` 路径,负责记录运行期间产生的各类日志信息。 - `/docker/gitlab/config` 则挂载到 `/etc/gitlab` 下,存放所有的配置选项。 这些准备工作有助于实现持久化存储并简化后续维护操作。 #### 安装过程 通过 DSM (DiskStation Manager) 中的应用程序商店找到 Docker 应用程序并完成安装之后,启动 Docker 并按照以下步骤继续: 1. 创建一个新的容器实例时指定镜像源为官方提供的 gitlab-ce 或者其他可信来源; 2. 设置端口映射规则以便可以从外部访问服务,默认情况下 HTTP(S) 和 SSH 协议会分别占用80(443), 22端口号; 3. 将之前准备好的三个本地卷绑定给新创建出来的虚拟机环境内相应位置; ```bash sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume /docker/gitlab/config:/etc/gitlab \ --volume /docker/gitlab/logs:/var/log/gitlab \ --volume /docker/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest ``` 上述命令行脚本展示了如何利用 Docker 命令来快速搭建起一个基于最新版 GitLab 社区版的企业级代码托管平台,并指定了自定义域名作为主机名称。 #### 后续配置 初次访问 Web 页面会提示初始化密码设定流程,完成后即可登录管理员账号进一步调整各项参数满足特定需求。对于希望集成 CI/CD 流水线或是对接第三方工具链的朋友来说,这一步骤尤为关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值