安裝#
建議:根據系統使用內建的程式管理工具直接安裝,例如 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 使用者。