欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > CI/CD(七) docker-compose部署gitlab-ce

CI/CD(七) docker-compose部署gitlab-ce

2025/3/31 7:49:32 来源:https://blog.csdn.net/qq_41369135/article/details/146499258  浏览:    关键词:CI/CD(七) docker-compose部署gitlab-ce

一、环境准备

  1. 创建目录结构
    mkdir -p /docker/software/gitlab/{data,logs,config}
    cd /docker/software/gitlab
    

二、编写 docker-compose.yml

version: '3.8'
services:gitlab:image: gitlab/gitlab-ce:latest  # 社区版镜像container_name: gitlabrestart: unless-stoppedhostname: 'gitlab.example.com'  # 替换为实际域名或IPenvironment:TZ: Asia/Shanghai  # 时区设置GITLAB_OMNIBUS_CONFIG: |external_url 'http://gitlab.example.com:8929'  # 外部访问地址gitlab_rails['gitlab_shell_ssh_port'] = 2224   # SSH端口# 可选配置:邮箱、数据库等gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.example.com"gitlab_rails['smtp_port'] = 465ports:- "8929:8929"    # HTTP端口(与external_url一致)- "443:443"      # HTTPS端口- "2224:22"      # SSH端口映射volumes:- ./config:/etc/gitlab      # 配置文件- ./logs:/var/log/gitlab    # 日志文件- ./data:/var/opt/gitlab    # 数据文件shm_size: '256m'  # 共享内存大小

关键配置说明316144:

  • external_url:GitLab 访问地址,需与端口映射一致。
  • gitlab_shell_ssh_port:自定义 SSH 端口,避免与宿主机冲突。
  • 卷映射(volumes):持久化配置、日志和数据,防止容器重启后丢失。

三、启动 GitLab 服务

  1. 启动容器
    docker-compose up -d
    
  2. 查看启动状态
    docker-compose logs -f gitlab  # 实时查看日志
    docker-compose ps             # 确认容器状态为 Healthy
    

四、访问与初始化

  1. 首次访问

    • 浏览器输入 http://gitlab.example.com:8929,等待服务完全启动(初次可能需 5-10 分钟)3。
    • 若出现 502 错误,刷新页面或稍后重试3。
  2. 设置管理员密码

    • 默认用户名:root
    • 初始密码文件路径(24 小时后自动删除):
      docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
      
  3. 登录与配置

    • 登录后建议修改密码并配置邮箱、SSH 密钥等41。
    • 若需中文界面:用户设置 → Preferences → Language → 简体中文36。

五、高级配置(可选)

  1. HTTPS 支持
    修改 external_urlhttps,并在 GITLAB_OMNIBUS_CONFIG 中添加 SSL 证书路径:

    external_url 'https://gitlab.example.com'
    nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
    nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
    

    将证书文件挂载到容器内 /etc/gitlab/ssl 目录148。

  2. 备份与恢复

    • 手动备份
      docker exec -it gitlab gitlab-backup create
      
    • 定时备份:通过 Crontab 或脚本自动化35。
  3. 性能优化

    • 调整 unicornsidekiq 参数(如并发数、内存限制)148:
      GITLAB_OMNIBUS_CONFIG: |unicorn['worker_processes'] = 4sidekiq['concurrency'] = 10
      

六、常见问题

  1. 端口冲突

    • 若宿主机 80/443 端口被占用,需修改 ports 映射(如 8080:80)143。
  2. 服务启动慢

    • 首次启动需初始化数据库和组件,耐心等待或通过日志排查问题3。
  3. 数据迁移

    • 迁移时需复制 configdatalogs 目录,并确保权限正确16。

其他安装地址:https://zhuanlan.zhihu.com/p/680598666

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词