一聚教程网:一个值得你收藏的教程网站

热门教程

CentOS与GitLab集成方法

时间:2026-06-08 09:24:47 编辑:袖梨 来源:一聚教程网

CentOS 与 GitLab 集成实践指南

CentOS与GitLab集成方法

一 环境准备与安装

  • 系统要求:推荐使用 CentOS 7/8,硬件至少 2 核 CPU、4GB 内存、20GB 磁盘,并确保可访问互联网与开放 80/443 端口。
  • 安装依赖与基础服务:sudo yum update -ysudo yum install -y curl policycoreutils-python openssh-server perlsudo systemctl enable --now sshd
  • 防火墙放行:sudo yum install -y firewalldsudo systemctl enable --now firewalldsudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload
  • 添加 GitLab 仓库并安装(CE 社区版):curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bashsudo EXTERNAL_URL=“http://your_domain_or_ip” yum install -y gitlab-ce
  • 说明:如需 EE 企业版,将仓库与安装包名中的 gitlab-ce 替换为 gitlab-ee。

二 基础配置与启动

  • 配置外部访问地址:编辑 /etc/gitlab/gitlab.rb,设置external_url ‘http://your_domain_or_ip’(如需 HTTPS,改为 https:// 并配置证书)。
  • 使配置生效并启动:sudo gitlab-ctl reconfiguresudo gitlab-ctl start
  • 访问与初始化:浏览器打开 http://your_domain_or_ip,首次登录设置管理员密码(用户名 root)。

三 邮件通知与 Runner 集成

  • SMTP 邮件(示例为 QQ 企业邮):在 /etc/gitlab/gitlab.rb 中配置gitlab_rails[‘smtp_enable’] = truegitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”gitlab_rails[‘smtp_port’] = 465gitlab_rails[‘smtp_user_name’] = “[email protected]”gitlab_rails[‘smtp_password’] = “your_password”gitlab_rails[‘smtp_authentication’] = “login”gitlab_rails[‘smtp_enable_starttls_auto’] = truegitlab_rails[‘smtp_tls’] = truegitlab_rails[‘gitlab_email_from’] = ‘[email protected]’gitlab_rails[‘smtp_domain’] = “example.com”执行:sudo gitlab-ctl reconfigure
  • GitLab Runner(CI/CD 执行器):curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bashsudo gitlab-runner register --url https://YOUR_GITLAB_URL/ --registration-token YOUR_REGISTRATION_TOKEN按提示选择 shell 或 docker 等执行器并完成注册。

四 可选 Docker 部署与端口映射

  • 拉取并运行容器(示例将宿主机 8080/443/2222 映射到容器 80/443/22):docker pull gitlab/gitlab-ce:latestdocker run --detach –hostname gitlab.example.com –publish 8080:80 --publish 443:443 --publish 2222:22 –name gitlab –privileged –restart always –volume /home/docker/gitlab/config:/etc/gitlab –volume /home/docker/gitlab/logs:/var/log/gitlab –volume /home/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
  • 说明:数据、配置、日志持久化到宿主机目录,便于备份与迁移。

五 安全加固与常见问题

  • 安全建议:
    • 启用 HTTPS(Let’s Encrypt 或企业 CA),对外仅开放 443,将 80 做跳转;
    • 使用 强密码策略 与 2FA,限制管理员 API 与注册;
    • 定期 备份与更新(gitlab-rake gitlab:backup:create,配合定时任务)。
  • 常见问题排查:
    • 访问异常:检查 firewalld/云安全组 是否放行 80/443,以及 external_url 是否与访问方式一致;
    • Runner 不可用:确认 Runner 已注册 到正确 URL/Token,并与项目可见性匹配;
    • 邮件发送失败:核对 SMTP 参数与密码/授权码,必要时开启 TLS/SSL;
    • 版本差异:不同 GitLab 版本的配置项可能变化,优先参考官方文档并按需调整。

热门栏目