用Docker搭建GitLab私有代码仓库
内容目录
介绍
git是当下如日中天的版本管理系统,比如我们常用的github/gitee都是通过git来管理项目的。有很多现成的互联网的git服务提供给大家使用,例如号称程序员社交网络的 GitHub,还有低调好用的 bitbucket 。这些给个人使用或者公司用来做开源使用都没有什么问题。但如果在部门内推广使用就会涉及到代码不能公开或者额外的费用的问题。
正好 gitlab 公司提供了 gitlab 社区版,看了看基本满足了部门内 git 管理的需求。gitlab 提供了各种各样的安装方式,最方便的当然还是 docker 方式的安装,适合我这种不想多折腾的。抽空搭建了一个。也趟了几个坑,将步骤记录如下,希望对其他有此需求的人有所帮助。
gitlab本是可以支持自托管的,完全适合个人或团队使用。
系统要求
安装前服务器请至少具有4G的内存。
1.docker 安装
既然是基于 docker 来安装 gitlab ,首先是安装 docker 环境了。我是在 CentOS7 的基础上安装的。可以根据官网的指南来安装。
删除旧版本的 docker
旧版本的 docker 的叫做 docker 或者 docker-engine,如果系统中已经安装旧版本,则需要删除。通过以下命令删除旧的 docker 版本
|
|
一键安装docker
|
|
一键安装docker-compose
|
|
启动 docker
执行如下的命令启动 docker 的服务
|
|
设置为开机启动
|
|
执行如下命令查看 docker 信息
|
|
可以看到如下的信息
(略)如果我们的根分区空间比较小,想要自定义docker的运行目录,可以修改以下的配置文件:
|
|
输入以下内容,比如我将docker放置在/home/docker目录下:
|
|
使配置生效:
|
|
查看配置结果是否生效:
|
|
如果Root Dir出现我们配置的目录,则设置正确。
2.安装 gitlab
下载镜像
执行下面的命令,从 docker 的镜像仓库中下载 gitlab 社区版的镜像
|
|
镜像有 1g 多,所以需要等待一段时间
数据持久化保存
建立了目录 /opt/docker/gitlab
来保存 gitlab 容器中的数据
创建一个用于存放gitlab数据的目录
|
|
进入到创建的目录下
|
|
新建一个docker-compose.yml文件
|
|
将下面的内容粘贴进去。
|
|
注意,其中的external_url后面的ip地址需要修改为自己服务器的内网ip,完成后保存退出。
3.运行 gitlab
执行以下命令启动gitlab:
将下面的地址改成你存放gitlab持久化数据的地址,比如我的地址为/opt/docker/gitlab
GITLAB_EXTERNAL_URL
的配置是项目的clone网址
|
|
注意警告,需要提前把GITLAB_HOME变量设置。
放行8929和8922两个端口。
|
|
4.访问
访问前,先查一下gitlab的运行状态,在服务器上执行:
|
|
等待执行,启动时间可能会比较长,最终停止滚动,发现系统执行没有报错,系统正常运行。使用ctrl + c 组合键退出。
使用以下命令查看一下初始密码:
|
|
请将这串字符记录下,每个人得到的初始密码都是不一样的,根据自己的情况。在浏览器中访问http:ip:8929
,将ip替换为你服务器的ip地址。
然后点击Sign in,发现已经可以正常登录了。
5.登录后配置
修改中文
|
|
关闭注册功能
我这里用不到注册功能,所以我把注册功能给关掉了。
设置 -》 通用 =》 注册限制 -》取消 Sign-up enabled
最后点击save changes保存应用。
Author grabbyte
LastMod 2022-10-18