基于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 |