首页主机资讯CentOS与GitLab如何集成部署

CentOS与GitLab如何集成部署

时间2025-11-26 17:59:03发布访客分类主机资讯浏览526
导读:在 CentOS 上集成部署 GitLab 的完整方案 一 环境准备与资源建议 操作系统与网络:建议使用 CentOS 7/8,确保可访问互联网,并开放 HTTP 80/HTTPS 443 与 SSH 22 端口。生产环境强烈建议启用 H...

在 CentOS 上集成部署 GitLab 的完整方案

一 环境准备与资源建议

  • 操作系统与网络:建议使用 CentOS 7/8,确保可访问互联网,并开放 HTTP 80/HTTPS 443SSH 22 端口。生产环境强烈建议启用 HTTPS。硬件建议至少 2 核 CPU、4GB 内存、20GB 磁盘,更稳妥为 4 核/8GB/50GB+ SSD
  • 基础依赖与邮件:安装 curl、openssh-server、policycoreutils-python、postfix、git、nodejs、rsync、cronie 等;如未使用外部 SMTP,可先启用 Postfix 发送通知邮件。
  • 防火墙放行:启用并放行 http/https/ssh 服务,或按需放行自定义端口。

二 安装与初始化 GitLab

  • 方式一 Omnibus RPM 包(推荐)

    1. 安装依赖与邮件组件
      sudo yum update -y
      sudo yum install -y curl policycoreutils-python openssh-server postfix git nodejs rsync cronie
      sudo systemctl enable --now sshd postfix
      sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload

    2. 添加仓库并安装 GitLab CE(将域名或 IP 替换为实际值)
      curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
      sudo EXTERNAL_URL=“http://your_domain_or_ip” yum install -y gitlab-ce

    3. 首次配置与启动
      sudo gitlab-ctl reconfigure
      sudo gitlab-ctl start

    4. 访问并完成管理员初始化
      浏览器访问 http://your_domain_or_ip,设置 root 用户密码。

  • 方式二 Docker 部署(一致性与回滚更简单)

    1. 拉取镜像
      docker pull gitlab/gitlab-ce:latest

    2. 启动容器(示例将宿主机 8080/443/2222 映射到容器内 80/443/22)
      docker 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

    3. 访问与端口说明
      浏览器访问 http://your_domain_or_ip:8080(或配置反向代理到 80/443)。如需原生 80/443,请改为 -p 80:80 -p 443:443。

三 核心配置与邮件通知

  • 编辑配置文件 /etc/gitlab/gitlab.rb,设置外部访问地址:
    external_url ‘https://gitlab.example.com’
    修改后执行:sudo gitlab-ctl reconfigure

  • SMTP 邮件示例(QQ 企业邮或类似,按需替换)
    gitlab_rails[‘smtp_enable’] = true
    gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”
    gitlab_rails[‘smtp_port’] = 465
    gitlab_rails[‘smtp_user_name’] = “your_email@example.com”
    gitlab_rails[‘smtp_password’] = “your_password”
    gitlab_rails[‘smtp_authentication’] = “login”
    gitlab_rails[‘smtp_enable_starttls_auto’] = true
    gitlab_rails[‘smtp_tls’] = true
    gitlab_rails[‘gitlab_email_from’] = ‘your_email@example.com’
    gitlab_rails[‘smtp_domain’] = “example.com”
    修改后执行:sudo gitlab-ctl reconfigure

四 CI/CD 集成与 Runner 注册

  • 安装 GitLab Runner(在同一台或专用 Runner 主机)
    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
    sudo yum install -y gitlab-runner

  • 注册 Runner(在 GitLab 项目/组 Settings > CI/CD > Runners 获取 URLRegistration token
    sudo gitlab-runner register --url https://YOUR_GITLAB_URL/ --registration-token YOUR_REGISTRATION_TOKEN

  • 常用执行器与场景:选择 shell(简单脚本)、docker(环境隔离)、或 kubernetes(大规模弹性)。注册完成后在项目中启用 Runner 并使用 .gitlab-ci.yml 定义流水线。

五 安全加固与运维要点

  • 启用 HTTPS:为 external_url 配置 https:// 域名,放置有效 SSL/TLS 证书(可使用 Let’s Encrypt),并仅开放 443 对外访问。
  • 防火墙与端口:仅放行必要端口(如 80/443/22),避免将 GitLab 直接暴露在公网未加密端口。
  • 备份与恢复:定期执行备份(如每日),并演练恢复流程;Omnibus 可使用 gitlab-backup 工具,Docker 需确保卷持久化。
  • 升级与维护:保持 GitLab 版本为稳定版,按计划升级;变更配置后执行 gitlab-ctl reconfigure 使生效。
  • 资源与性能:建议 4 核/8GB/50GB+ SSD,开启 Prometheus + Grafana 监控,必要时使用对象存储(如 S3/MinIO)承载 LFS/附件/备份。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS与GitLab如何集成部署
本文地址: https://pptw.com/jishu/756909.html
CentOS上GitLab如何进行权限设置 mongodb在centos上如何集群搭建

游客 回复需填写必要信息