常用 Git 记录文件的修改记录,这些无需提交到 GitHub、GitLab 等平台管理,之前在本地搭建过开源的 GitLab,最近有些需求就着手重新搭建起来。没想需要注意的细节挺多的,就顺便记录下来了。
一、安装
1 建议采取 Docker 来安装,使用 gitlab/gitlab-ce
这个镜像。Docker 这篇文章就不细说了,可参考我之前写的Docker 安装经验与常用命令和以下示例命令。
$ docker run -itd -p 10443:443 -p 1080:80 -p 1020:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
2 运行起来的时间挺长的,耐心等待几分钟。开始是无法访问此网站,过会是 502,再过会就跑起来了。整体十分钟左右。可以查看运行时输出的命令行来判断是否正常安装。
二、初始化和登录
3 下面是成功后打开的页面。设置初始密码。
4 以 root 作为用户名,使用上一步设置的密码登录。进行账号初始化。
5 第一次成功登录后的页面。这里基础使用没问题了。
开始使用吧。
建议 root 仅作为权限管理账号,平时用子账号,对子账号有需求看看第三节。对 SSH 有问题看看第四节。
三、子账号注册和登录
6 退出登录,点击 Register now,注册一个新账号。
7 使用刚刚注册的账号登录,此时出了问题,这也是我来记录的原因。
这段报错是说:你的账号正在等待您的 GitLab 管理员批准,如果你认为这是一个错误请联系管理员。root 用户同意账号注册后,该账号才能登录。
Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error.
8 重新使用 root 账号登录。
8.1 在任意页面:① 点击右上角的头像;② 点击第一行(Administrator @root);③ 点击最右侧的人物(view user in admin area)图标。
8.2 在 Admin Area 页面:① 点击左侧栏 Overview 内的 Users 行;② 点击 Pending approval 等待同意 ;③ 在刚新增的子账号这一行,点击右侧的设置按钮;④ 点击 Approve 通过账号注册。
9 现在子账号可以登陆成功了。
开始使用子账号吧。
四、SSH
看各个教程时,似乎在 Docker 内 SSH 连接有些设置问题。
读了内容仔细想想,Docker 在主机内部,端口已经映射了,外部访问使用映射的端口应该没问题。经过尝试,是有一些小问题:安装后不做什么修改是可以直接连接的,只是不能通过 Project 给出的链接直连。
比如:新建 Project 给出的链接是 git@5bankwa93c40f9:evgo2017/project_name.git
,但我们应该是以 git@192.168.1.24:1022/evgo2017/project_name.git
来访问。将容器 ID 替换为 IP+映射的SSH端口。
git@dfwbd59:evgo2017/project_name.git => git@192.168.1.24:1022/evgo2017/project_name.git
git@<容器ID>:<账号ID>/<Project名称>.git => git@<机器IP>:<映射的对应SSH端口>/<账号ID>/<Project名称>.git
为了平时方便,需要改下配置。修改挂载的 config/gitlab.rb
文件内容:
external_url 'http://192.168.1.24'
gitlab_rails['gitlab_shell_ssh_port'] = 1022
重启容器就好了。
五、最后
GitLab 做的是真不错。
文章内容若有误,敬请指出,感谢。若有疑问可联系我。文章后续更新请在文章出处查看。
文章出处:https://evgo2017.com/blog/gitlab-self-build-record 本作品采用 CC-BY-NC 协议。只要在使用、公开时进行署名,那么使用者可以对本创作进行转载、节选、混编、二次创作,但不得将本创作或由本创作衍生的创作运用于商业目的。