GitLab是一个基于Git的在线代码仓库托管系统,我们可以用gitlab搭建一个类似于Github一样的代码管理系统,一般用于在多人协作、企业、学校等内部代码管理。
GitLab支持源码安装,也支持yum、apt等软件管理器安装,但是大多安装配置过程繁琐而且容易失败,所以一般而言对于此类系统平台软件推荐用docker来部署安装。
假设你已经安装好docker,那么下面我们根据官方文档简单介绍GitLab部署:
1)设置系统环境变量,制定gitlab数据存储目录(请指定到有读写权限的目录):
Linux:export GITLAB_HOME=/srv/gitlab
MacOS:export GITLAB_HOME=$HOME/gitlab
后续gitlab镜像将在挂载GITLAB_HOME
目录,数据将存储载此目录下面:
本地路径 | 容器路径 | 用途 |
---|---|---|
$GITLAB_HOME/data | /var/opt/gitlab | 存储gitlab主要生产数据 |
$GITLAB_HOME/logs | /var/log/gitlab | 日志信息 |
$GITLAB_HOME/config | /etc/gitlab | 配置文件信息 |
2)部署gitlab,主要有以下3种方式来部署:
本文主要介绍第一种方式,直接使用docker拉取镜像,操作简单便捷。
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
直接从gitlab/gitlab-ee:latest
拉取镜像,其中–publish参数指定了端口的映射信息。部署成功后我们访问gitlab.example.com即可进入gitlab了。
如果我们想配置gitlab按照如下步骤:
sudo docker exec -it gitlab /bin/bash
# 或者执行
sudo docker exec -it gitlab editor /etc/gitlab/gitlab.rb
# 编辑完成后重启docker镜像
sudo docker restart gitlab
也可以直接在启动镜像时指定预设参数:
例:指定IP访问
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 198.51.100.1:443:443 \
--publish 198.51.100.1:80:80 \
--publish 198.51.100.1:22:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ee:latest
此时我们访问http://198.51.100.1/
或者 https://198.51.100.1/
即可(端口映射格式hostPort:containerPort
)。
参考资料:
1.https://docs.gitlab.com/omnibus/docker/