搭建背景
有时候想要调试一些公司的项目,
不过公司的项目是没有办法传到 github 上的。
以免有泄漏的风险。
可是还需要借助 git 来管理,
于是乎,就诞生了本地搭建 gitlab 的想法。
另外,gitlab 还是功能蛮强大的,
拥有完善的权限管理系统,
集成 wiki 等相关功能,
以及具备 CI 持续集成、CD 持续部署等功能。
正好也借此机会玩一玩 gitlab ,完善一下自身搭建团队的技能树。
配置步骤
由于 gitlab 只能在 Linux 内核环境下部署。
手上也只有一台 MacBook 老爷机,
只好在上面再按照一个沙盒(虚拟机)了。
下载
Docker Desktop
。
市面上大部分教程都是推荐使用Docker Desktop
。
页面集成化界面操作,已经相对之前部署容易了很多。
并且注册一个Docker Hub
账号。下载
gitlab-ce
。
在仓库找到 gitlab-ce 并下载。 https://hub.docker.com/r/gitlab/gitlab-ce
不过网上教程有一键下载的方式,不过我没有找到,最后还是通过命令行给安装上了。1
docker pull gitlab/gitlab-ce
大概 800MB 大小,干脆挂机一宿下载完的。
配置
gitlab
一早起来,就看到
Docker Desktop
的Containers
里面已经静静的躺着个gitlab/gitlab-ce
。
接下来就是按照教程配置 gitlab。
自带的 UI 页面有配置,不过依旧没有搞懂。
还是用命令行配置最简单。1
2
3
4
5
6
7
8
9sudo docker run -d \
--hostname xxx.gitlab.com \
--name gitlab \
--restart always \
--publish 22:22 --publish 80:80 --publish 443:443 \
--volume /Users/xxx/gitlab/config:/etc/gitlab \
--volume /Users/xxx/gitlab/logs:/var/log/gitlab \
--volume /Users/xxx/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest登录 gitlab
此刻通过浏览器输入:http://localhost:80/,即可到登录页面。
第一次登录会让你输入超级管理员的密码。
账号:root。
这个账号是最高权限。可以通过这个账号对 gitlab 配置一切。注册 gitlab 账号
不过我们也不能一直用着 root 就去开发。
那也也未免太过霸气侧漏了。
我们还是需要注册一个自己开发用的账号。
让我们退出登录。
在刚刚登录页面重新注册一个属于自己的账号、密码、邮箱。
此时这个账号注册还不能被使用登录。
我们需要通过 root 账户,对刚刚注册的账号进行授权通过,
这样新注册的账号才能被使用。配置 SSH-KEY
新账号在登录之后,需要配置 git 公钥。
通过命令行1
ssh-keygen -t rsa -C "xxx@mail.com"
在
.ssh/
目录下会生成两个文件id_rsa.pub
和id_rsa
,
我们需要将id_rsa.pub
文件内的内容复制到 gitlab 中SSH-KEY
输入框中即可。搭建仓库
新建仓库,然后本地代码跟仓库相关联,跟 github 很相似了。在这里就不再赘述了。
踩坑相关
下载
gitlab-ce
真的是太慢了。
估计镜像资源也不怎么好。登录 gitlab 的时候报错 502。
这个问题纠结了好久。
网上说的大部分情况都是端口冲突。
又是杀进程,又是改配置的,结果并没起作用。最后想到,可能我是通过 docker 配置的 gitlab。
应该是给 docker 分配的资源太少,导致的报错。
解决方法是:
在 docker 的设置(Preferences)
->Resource
->ADVANCED
。
将Swap
调整到了3GB
。
不过为了保险起见,其他硬件参数也都调高一些。
将Memory
调整到了3.00GB
后记
本来以为是一个很简单的事情,
结果也折腾来折腾去的搞了大半天。
不过终于搭建好仓库的时候,
还是很嗨皮的。
接下来有时间的时候可以好好玩一玩 CI 了~