在CentOS上通過Docker容器化部署GitLab是一個相對簡單且高效的方法。以下是詳細的步驟指南:
安裝Docker: 確保你的CentOS系統上已經安裝了Docker。如果沒有安裝,可以參考Docker官方文檔進行安裝。
拉取GitLab鏡像: 使用以下命令從Docker Hub拉取最新版本的GitLab社區版鏡像:
docker pull gitlab/gitlab-ce:latest
創建并啟動GitLab容器: 使用以下命令創建并啟動GitLab容器。請根據你的實際需求調整端口映射和主機名:
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 \
--publish 80:80 \
--publish 22:22 \
--name gitlab \
--restart always \
-v /path/to/gitlab/config:/etc/gitlab \
-v /path/to/gitlab/logs:/var/log/gitlab \
-v /path/to/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
命令參數解釋:
-d
:以守護進程模式運行容器。--hostname
:設置容器的主機名。-p
:將容器端口映射到宿主機端口。--name
:設置容器名稱。--restart always
:容器退出后自動重啟。-v
:掛載目錄,將宿主機的目錄映射到容器的對應目錄。初始化GitLab設置: 容器啟動后,GitLab會開始初始化過程。首次訪問時,需要設置管理員賬戶密碼??梢酝ㄟ^以下命令查看初始密碼:
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
在瀏覽器中輸入服務器的IP地址或域名,使用root賬戶和生成的初始密碼登錄,然后進行必要的配置,如設置外部URL、配置SMTP郵件服務等。
配置HTTPS: 為了安全起見,建議為GitLab配置HTTPS。你可以使用Let’s Encrypt來獲取免費的SSL證書。首先,安裝Certbot和Nginx:
sudo yum install -y certbot python3-certbot-nginx
然后,使用Certbot獲取并配置SSL證書:
sudo certbot --nginx -d gitlab.example.com
按照提示完成證書的獲取和配置。
配置郵件服務: 配置SMTP服務器以發送電子郵件通知:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab_rails['smtp_password'] = "your-password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "your-email@example.com"
然后重載配置:
docker exec -t gitlab gitlab-ctl reconfigure
gitlab-ctl restart
安全性: 確保你的GitLab實例配置了適當的安全措施,如禁用不必要的服務、啟用SSH密鑰認證等。
性能優化: 根據你的服務器資源情況,可能需要調整GitLab的內存和CPU限制。
通過以上步驟,你應該能夠在CentOS上成功部署并運行GitLab容器化應用。如果在部署過程中遇到任何問題,可以參考GitLab的官方文檔或尋求社區幫助。