GitLab 是一个功能强大的 DevOps 平台,集成了 Git 代码管理、CI/CD、代码审查等功能。本教程将介绍如何使用 Docker 在服务器上部署 GitLab。
1. 先决条件
- 一台运行 CentOS 7 的服务器
- 已安装 Docker 和 Docker Compose
- 至少 4GB 内存,推荐 8GB 以上
- 端口 80、443 和 22 未被占用
2. 拉取 GitLab 镜像
首先,确保你的 Docker 运行正常,然后使用以下命令拉取 GitLab 官方镜像:
sudo docker pull gitlab/gitlab-ce:latest3. 创建 GitLab 配置目录
为了持久化 GitLab 数据,我们需要在主机上创建相应的目录:
mkdir -p /srv/gitlab/{config,data,logs}4. 运行 GitLab 容器
使用 Docker 运行 GitLab 容器:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 80:80 --publish 443:443 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ce:latest请将 gitlab.example.com 替换为你的实际域名。
5. 配置 GitLab
等待几分钟后,GitLab 将会启动。你可以通过 http://你的服务器IP 访问 GitLab。
初次访问时,GitLab 会要求你设置管理员密码,设置完成后即可使用 root 用户登录。
6. 配置 SMTP 发送邮件(可选)
编辑 GitLab 配置文件:
sudo vi /srv/gitlab/config/gitlab.rb找到并修改 SMTP 设置,例如使用 Gmail:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
gitlab_rails['smtp_password'] = "your-email-password"
gitlab_rails['smtp_domain'] = "gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true保存后执行以下命令使配置生效:
sudo docker restart gitlab7. 备份与恢复
备份 GitLab 数据
sudo docker exec -t gitlab gitlab-backup create备份文件将存储在 /srv/gitlab/data/backups/ 目录下。
恢复 GitLab 数据
sudo docker exec -t gitlab gitlab-backup restore BACKUP=备份文件名8. 停止与删除 GitLab
如果你需要停止 GitLab,可以运行:
sudo docker stop gitlab删除容器:
sudo docker rm gitlab删除所有数据:
sudo rm -rf /srv/gitlab9. 总结
使用 Docker 部署 GitLab 具有快速、便捷、易于管理的特点。你可以通过修改 gitlab.rb 配置文件来自定义 GitLab 功能,同时可以结合 Docker Compose 进一步优化部署。
如果你在部署过程中遇到问题,欢迎在评论区讨论!
评论 (0)