GitLab作为目前最主流的分布式代码托管工具,不仅免费还支持私有化部署,同时又具备高度可定制化工作流特性,因此被业界大部分公司企业所采用。
本文章主要记录基于Mac+Docker方案的Gitlab部署过程,如果你是个人,可以用来搭建自己的gitlab服务器作为私人代码仓库,如果你就职于小型或初创公司,在资源有限的情况下也可以尝试部署成团队代码仓库作为过渡。
第一步: 下载、安装Docker
下载
打开 docker官网 选择Mac系统安装,可以看到有 Intel
和 Apple silicon
两个版本,根据自身条件选择相应的版本。
安装要求(Intel):本文主要基于 Intel 介绍
- 至少占用 4 GB RAM
- 不得安装 4.3.30 版本之前的 VirtualBox,因为它与 Docker Desktop 不兼容。
安装要求(Apple silicon):
- 建议先安装
Rosetta 2
,命令行:softwareupdate –install-rosetta
安装
双击下载好的 Docker.dmg
,像安装其它第三方应用一样把它移动到 应用程序
目录.
第二步: 注册/登陆Docker & 下载社区版镜像
注册/登陆Docker
打开 docker 应用后,在下载镜像前需要先进行登陆,这里可能会遇到web页登陆成功,但是客户端始终在loading的情况。这是因为客户端登陆需要先进行 终端翻墙
,具体如何翻请自行百度(注意:第三方VPN并意味着终端也会走VPN)。
下载社区版镜像
在客户端顶部的搜索栏搜索 gitlab-ce
,下载收藏数最多的这个。
第三步: 编写镜像配置 & 运行镜像
在本地存放 Gitlab根目录
创建 docker-compose.yml 配置文件,详细配置如下:
配置文件,配置参数如下:
1 | #相关命令介绍,非顺序执行,仅注释记录。 |
运行镜像:
1 | gitlab-ctl restart |
打开浏览器,主机通过 localhost:880
访问,其它局域网设备通过 192.168.31.55:880
访问:
管理员初始账号名为:root
密码可通过在挂载在本地的 ...../gitlab-compose/config/initial_root_password
文件中获取到:
登陆gitlab,创建代码仓库时会发现克隆代码的HTTP链接是 http:192.168.31.55/xxxxx/xxxx
,由于缺少端口号,因此无法拉取代码。因此我们还要去修改 SSH
和 HTTP
的端口号:
1 | #1.首先进入到docker客户端->gitlab容器->iterm模式,然后执行以下命令: |
待重启完成后再次刷新页面就是带有 ip+端口
的地址了~
经验总结
仅作为局域网访问的话,hostname
和 external_url
都要填写Mac的内网ip地址,不能填 127.0.0.1
或 localhost
,否则在拉取代码时,截图中的地址将变成 127.0.0.1
或 localhost
,意味着其它局域网电脑想拉取代码将无法获取。
如果要更新 docker-compose.yml
文件,通过 gitlab-ctl reconfigure
和 gitlab-ctl restart
是不生效的,需要通过docker命令来进行重新部署容器:
1 | docker-compose up --force-recreate -d |
这个命令的作用就是 删除gitlab容器 + 重新部署
, 因此将重要配置信息挂载到本地是十分必要的~