目录
0 前言
最近在云服务器上搭建私有 Git 托管服务的过程中尝试了 GitLab,本文旨在简要记录其安装及配置过程,但 GitLab 资源消耗太大(2 核 + 4G 的阿里云 ECS 跑着很吃力),最后只能卸载。
1 安装
1.1 更新并升级基础软件
1 | sudo apt update |
1.2 安装前置依赖
1 | sudo apt install curl openssh-server ca-certificates -y |
1.3 在线执行安装配置脚本
1 | curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash |
1.4 安装 GitLab 社区版
1 | sudo apt install gitlab-ce -y |
2 配置
完成 GitLab 社区版的安装后需要进行一些基础配置,这里我们想要通过 https 进行安全访问,所以进行了如下配置(配置文件 /etc/gitlab/gitlab.rb
):
2.1 自定义域名
1 | external_url 'https://gitlab.example.com' |
2.2 配置 https 访问
我的顶级域名是此前从腾讯云申请的,可以直接从腾讯云申请并下载子域名的免费 SSL 证书。
关闭 letsencrypt
:
1 | letsencrypt['enable'] = false |
新建证书存储目录,修改权限后将下载的 SSL 证书(.crt
证书文件和 .key
密钥文件)上传到该目录:
1 | sudo mkdir -p /etc/gitlab/ssl |
配置 SSL 证书路径:
1 | nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.example.com.crt" |
http 访问重定向到 https 访问:
1 | nginx['redirect_http_to_https'] = true |
2.3 重配置 GitLab
1 | sudo gitlab-ctl reconfigure |
⚠ 注意
在执行 GitLab 重配置的过程中可能会卡住:
此时,另开一个终端,并执行下述命令即可继续后面的过程:
1 | sudo /opt/gitlab/embedded/bin/runsvdir-start & |
重配置成功后要稍微等待两分钟(此时我的服务器已经满载了)。
2.4 重启 GitLab
1 | sudo gitlab-ctl restart |
若重启失败,也可尝试上文中处理 GitLab 重配置卡住时的解决办法。
此时,通过访问上文中配置的自定义域名,我们会来到 GitLab 的登录界面:
3 卸载
GitLab 资源消耗很大,需要卸载得话可以依次执行下述命令:
1 | sudo apt-get remove gitlab-ce -y |
参考
- https://docs.gitlab.com/omnibus/settings/nginx.html