centos

centos gitlab容器化部署实践

小樊
58
2025-09-17 18:39:17
栏目: 智能运维

CentOS GitLab容器化部署实践指南

一、前提条件

二、基础部署步骤

1. 安装Docker与Docker Compose

2. 拉取GitLab镜像

从Docker Hub获取最新稳定版的GitLab Community Edition(CE)镜像:

docker pull gitlab/gitlab-ce:latest

3. 创建数据存储目录

为保证数据持久化,需在宿主机创建专用目录用于挂载GitLab的配置、日志和数据:

mkdir -p /data/gitlab/{config,logs,data}

4. 启动GitLab容器

使用docker run命令启动容器,关键参数说明:

完整命令示例:

docker run -d \
  --hostname gitlab.example.com \
  -p 80:80 -p 443:443 -p 22:22 \
  --name gitlab \
  --restart always \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

5. 访问GitLab实例

容器启动后,等待初始化完成(约5-10分钟),通过浏览器访问http://<服务器IP>,首次登录需设置root用户密码(默认密码可通过cat /data/gitlab/config/initial_root_password查看,若未生成则等待初始化完成)。

三、高级配置优化

1. 配置外部URL与HTTPS

2. 配置邮件服务(用于通知)

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_app_password"  # 需使用应用专用密码
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "your_email@gmail.com"

保存后重启GitLab:

docker exec -it gitlab gitlab-ctl reconfigure && docker exec -it gitlab gitlab-ctl restart

3. 配置GitLab Runner(容器化)

若需实现CI/CD,可部署GitLab Runner容器:

4. 性能调优

四、注意事项

0
看了该问题的人还看了