安装#
建议:根据系统使用自带程序管理工具直接安装,如 yum,dnf,apt 等,不使用容器等方式安装
原因:使用容器会让 gitlab 管理变的复杂,直接部署在机器上磁盘不够就扩容 资源不够就变更实例类型
复杂的因素
- docker 管理
- docker-compose 配置
- 磁盘挂载
- 端口映射(宿主机的 22 和 gitlab 容器中的 22 冲突)
- 域名配置
配置#
域名和 SSL 配置#
根据文档对 gitlab.rb 做的变更
external_url 'https://example.com'
// 以下均手动删除了开头的#
letsencrypt['enable'] = false
nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate']
nginx['ssl_certificate_key']
这两项不需修改,只要将 ssl 的文件名改成 example.com.crt 和 example.com.key 放到 /etc/gitlab/ssl 下会自动识别
申请 SSL#
几种途径
- 域名在云厂商托管,可直接申请
- 使用一些免费 ssl 申请服务,如 letsencrypt freessl.cn
我的方案
- 使用 freessl.cn 注册验证
- 添加域名
- 进行 DNS 验证
- 使用 acme.sh 进行证书申请
启动#
做完配置后需手动执行
gitlab-ctl reconfigure // 重新配置
gitlab-ctl start // 启动
密码
cat /etc/gitlab/initial_root_password
用户使用建议:使用管理员登录后配置一个用户,给予管理员权限,不使用 root 用户