在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证书。可以使用Let’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的稳定运行。可以使用工具如Prometheus、Grafana等来监控GitLab的性能指标。
资源分配:根据你的使用需求,合理分配Docker容器的内存和CPU资源,以避免性能瓶颈。
通过以上步骤,你应该能够在Debian系统上成功通过Docker容器化部署GitLab。如果在过程中遇到问题,可以参考 GitLab官方文档 获取更多详细信息和故障排除指南。