【Linux版本】GitLab 服务器端的下载、安装和配置 —— 【Docker】

一、环境准备
  • 存储

    • 存储空间的大小主要取决于您将存储的 Git 仓库的大小,但根据 rule of thumb(经验法则) 您应该考虑多留一些空间用来存储 Git 仓库的备份。

    • 如果您的服务器有足够大的内存和 CPU 处理性能,GitLab 的响应速度主要受限于硬盘的寻道时间。 使用更快的硬盘(7200 转)或者 SSD 硬盘会很大程度的提升 GitLab 的响应速度。

  • CPU

    • 1 核心 CPU (最多支持 100 个用户,所有的 workers 和后台任务都在同一个核心工作这将导致 GitLab 服务响应会有点缓慢)

    • 2 核心 CPU (支持500用户,这也是官方推荐的最低标准)

    • 4 核心 CPU (支持2000用户)

    • 8 核心 CPU (支持5000用户)

    • 16 核心 CPU (支持10000用户)

    • 32 核心 CPU (支持20000用户)

    • 64 核心 CPU (支持40000用户)

  • 内存

    • 1GB 物理内存 + 3GB 交换分区(是最低的要求,但我们强烈反对使用这样的配置)

    • 2GB 物理内存 + 2GB 交换分区(支持100用户,但服务响应会很慢)

    • 4GB 物理内存(支持100用户,也是官方推荐的配置)

    • 8GB 物理内存(支持1000用户)

    • 16GB 物理内存(支持2000用户)

    • 32GB 物理内存(支持4000用户)

    • 64GB 物理内存(支持8000用户)

    • 128GB 物理内存(支持16000用户)

    • 256GB 物理内存(支持32000用户)

二、镜像下载
三、容器启动
  1. 创建配置文件规划保存目录

    mkdir -p /opt/docker/gitlab/config
    mkdir -p /opt/docker/gitlab/logs
    mkdir -p /opt/docker/gitlab/data
    
  2. 拉取自定义版本镜像(本次实验采用最新版本)

    docker pull gitlab/gitlab-ce:latest
    
  3. 创建容器

    docker run -d \ 
    -p 10443:443 \
    -p 10080:80 \
    -p 10022:22 \
    -v /opt/docker/gitlab/config:/etc/gitlab \
    -v /opt/docker/gitlab/logs:/var/log/gitlab \
    -v /opt/docker/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce
    --restart always  \
    --privileged=true \
    --name gitlab \
    
  4. 查看容器启动日志

    docker logs -f gitlab
    
四、容器配置
  1. 固定的 URL 访问地址

    # 由于容器化的应用配置文件都在容器中
    # 在创建容器的时候将必要的配置挂载到宿主机方便修改
    # 修改 gitlab.rb 配置(默认情况下是全部注释掉的)
    vim /opt/docker/gitlab/config/gitlab.rb
    
    # !!! 注意:这些端口的设置都是容器内部的端口,而不是宿主机映射的端口 !!!
    # 配置 http 协议所使用的访问地址,不加端口号默认为 80
    external_url 'http://100.100.100.103'
    
    # 配置 ssh 协议所使用的访问地址和端口,不加端口号默认为 443
    gitlab_rails['gitlab_ssh_host'] = '100.100.100.103'
    # 此端口是 run 时 22 端口
    gitlab_rails['gitlab_shell_ssh_port'] = 22 
    # 保存配置文件并退出
    :wq 
    
  2. 配置邮件发送

    # 编辑 gitlab.rb 配置
    gitlab_rails['gitlab_email_enabled'] = true
    gitlab_rails['gitlab_email_from'] = '邮箱地址'
    gitlab_rails['gitlab_email_display_name'] = '发送者名称'
    gitlab_rails['gitlab_email_reply_to'] = '邮箱地址'
    
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = "邮箱地址"
    gitlab_rails['smtp_password'] = "密码"
    # gitlab_rails['smtp_domain'] = "exmail.qq.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    gitlab_rails['smtp_openssl_verify_mode'] = 'none'
    
    # 查看 gitlab 容器 ID
    docker ps gitlab
    
    # 进入容器
    docker exec -it 00d67f41f184 /bin/bash
    
    # 进入 gitlab rails 控制台
    gitlab-rails console
    
    # 测试邮件发送
    Notify.test_email('收邮件的收件箱', '111', '222').deliver_now
    
  3. 重启 Docker 容器

    docker restart gitlab
    
  4. 浏览器访问效果如下

    1

    2

  5. 创建用户,被创建用户收到的邮件信息

    3

  6. 用户通过邮件链接修改密码后收到的邮件信息

    4

  7. 要求进入项目后收到的邮件

    5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值