在Debian系統上通過Docker容器化部署GitLab,可以按照以下步驟進行。這些步驟包括安裝Docker、配置Docker鏡像倉庫、下載并運行GitLab容器,以及配置必要的網絡和存儲選項。以下是詳細的指南:
首先,更新現有的軟件包列表,并安裝一些必要的依賴項:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates tzdata perl
為了確保下載的Docker鏡像是可信的,添加GitLab的官方GPG密鑰:
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
創建一個新的APT倉庫文件,以便從GitLab的官方Docker倉庫中獲取鏡像:
sudo nano /etc/apt/sources.list.d/gitlab_gitlab-ce.list
在打開的編輯器中添加以下內容(請根據你的Debian版本選擇合適的倉庫地址):
對于Debian 10 (Buster):
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian buster main
對于Debian 11 (Bullseye):
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian bullseye main
保存并關閉文件(在nano中按 Ctrl + O
保存,Ctrl + X
退出)。
為了加速鏡像下載并減少對互聯網的依賴,可以安裝GitLab的容器注冊表:
sudo EXTERNAL_URL="http://your.gitlab.domain" apt-get install -y gitlab-ce=15.0.0-ce.0 gitlab-ce-cli=15.0.0-ce.0 gitlab-rails=15.0.0-ce.0 gitlab-shell=15.0.0-ce.0 postgresql=13 gitlab-workhorse=15.0.0-ce.0 nginx=1.21.6-1 gitlab-ctl=15.0.0-ce.0
注意:請將 http://your.gitlab.domain
替換為你的GitLab實例的實際域名或IP地址。此外,版本號(如 15.0.0-ce.0
)應根據GitLab的最新穩定版進行調整。你可以訪問 GitLab官方下載頁面 獲取最新版本信息。
運行以下命令以重新配置APT包,并安裝GitLab:
sudo apt-get update
sudo apt-get install -y gitlab-ce
訪問GitLab設置頁面:
GitLab安裝完成后,默認情況下可以通過瀏覽器訪問 http://your.gitlab.domain
。首次訪問時,系統會引導你進行初始設置,包括設置管理員密碼、配置電子郵件等。
完成初始設置:
管理員賬戶:使用默認的管理員賬戶 root
登錄,然后按照提示設置新密碼。
外部URL:確保在 /etc/gitlab/gitlab.rb
文件中正確設置了 external_url
,例如:
external_url 'http://your.gitlab.domain'
重新配置GitLab:
修改配置文件后,運行以下命令以應用更改:
sudo gitlab-ctl reconfigure
為了確保GitLab的安全性,建議為其配置SSL證書??梢允褂肔et’s Encrypt免費獲取SSL證書:
安裝Certbot:
sudo apt install certbot python3-certbot-nginx -y
獲取并安裝證書:
sudo certbot --nginx -d your.gitlab.domain
按照提示完成證書的申請和安裝過程。Certbot會自動修改Nginx配置文件以啟用HTTPS。
自動續期證書:
Certbot會設置一個定時任務來自動續期證書。你可以手動測試續期過程:
sudo certbot renew --dry-run
如果你使用的是UFW作為防火墻,請確保開放必要的端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable
完成上述步驟后,你應該能夠通過瀏覽器訪問 https://your.gitlab.domain
并使用GitLab的各項功能。
備份與恢復:定期備份GitLab的數據目錄(通常位于 /var/opt/gitlab
),以便在需要時進行恢復。
監控與日志:配置適當的監控和日志管理,以確保GitLab的穩定運行??梢允褂霉ぞ呷鏟rometheus、Grafana等來監控GitLab的性能指標。
資源分配:根據你的使用需求,合理分配Docker容器的內存和CPU資源,以避免性能瓶頸。
通過以上步驟,你應該能夠在Debian系統上成功通過Docker容器化部署GitLab。如果在過程中遇到問題,可以參考 GitLab官方文檔 獲取更多詳細信息和故障排除指南。