温馨提示×

在CentOS上使用GitLab进行版本控制

小樊
39
2025-11-17 20:03:41
栏目: 智能运维

在 CentOS 上使用 GitLab 进行版本控制

一 环境准备与安装

  • 准备一台满足最低要求的服务器(建议:2 核 CPU、4 GB 内存、20 GB 磁盘),操作系统建议使用 CentOS 7/8。安装常用依赖并启动服务:
    • sudo yum update -y
    • sudo yum install -y curl policycoreutils openssh-server postfix
    • sudo systemctl enable --now sshd postfix
    • sudo firewall-cmd --permanent --add-service=http --add-service=https
    • sudo firewall-cmd --reload
  • 添加 GitLab 仓库并安装(社区版 CE):
    • curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    • sudo EXTERNAL_URL=“http://你的服务器IP或域名” yum install -y gitlab-ce
  • 首次配置并启动:
    • sudo gitlab-ctl reconfigure
    • sudo gitlab-ctl start
  • 访问 Web:打开浏览器输入 http://你的服务器IP或域名,按向导设置管理员密码并使用 root 登录。

二 基本配置与 HTTPS

  • 修改主配置 /etc/gitlab/gitlab.rb,设置外部访问地址:
    • external_url ‘http://你的域名或IP’
    • 如需自定义端口或启用 HTTPS,可相应调整 nginx 配置段
  • 使配置生效:
    • sudo gitlab-ctl reconfigure
  • 启用 HTTPS(推荐):
    • 准备证书(例如:/etc/gitlab/ssl/gitlab.example.com.crt.key
    • 配置示例:
      • external_url “https://gitlab.example.com”
      • nginx[‘redirect_http_to_https’] = true
      • nginx[‘ssl_certificate’] = “/etc/gitlab/ssl/gitlab.example.com.crt”
      • nginx[‘ssl_certificate_key’] = “/etc/gitlab/ssl/gitlab.example.com.key”
    • 重新配置:sudo gitlab-ctl reconfigure
  • 常用目录(便于排障与备份):
    • 主配置:/etc/gitlab/gitlab.rb
    • 仓库数据:/var/opt/gitlab/git-data/repositories
    • Nginx 配置:/var/opt/gitlab/nginx/conf/gitlab-http.conf
    • 服务管理:gitlab-ctl status/restart/reconfigure

三 创建项目与日常版本控制

  • 在 Web 界面创建项目(New Project),选择可见性并初始化(如添加 README.gitignore)。
  • 本地克隆、提交与推送(HTTPS 示例,也可用 SSH):
    • git clone https://你的域名或IP/用户名/项目名.git
    • cd 项目名
    • git config user.name “你的姓名”
    • git config user.email “你的邮箱”
    • echo “# 初始化提交” > README.md
    • git add .
    • git commit -m “Initial commit”
    • git push -u origin master
  • 常用 Git 工作流命令:
    • 查看状态:git status
    • 查看日志:git log --oneline -10
    • 分支开发:git checkout -b feature/x
    • 合并与推送:git checkout master && git merge feature/x && git push origin master
    • 拉取更新:git pull origin master

四 邮件通知与 Docker 部署(可选)

  • 邮件通知(SMTP,示例为企业邮箱):
    • /etc/gitlab/gitlab.rb 中启用并填写:
      • gitlab_rails[‘smtp_enable’] = true
      • gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”
      • gitlab_rails[‘smtp_port’] = 25
      • gitlab_rails[‘smtp_user_name’] = “你的邮箱”
      • gitlab_rails[‘smtp_password’] = “你的密码”
      • gitlab_rails[‘smtp_domain’] = “你的域名”
      • gitlab_rails[‘smtp_authentication’] = “plain”
      • gitlab_rails[‘smtp_enable_starttls_auto’] = true
    • 使配置生效:sudo gitlab-ctl reconfigure
  • 使用 Docker 快速部署(适合测试或便携环境):
    • 启动容器(将域名/IP 与端口按实际替换):
      • sudo docker run --detach
        –hostname your.domain.com
        –publish 80:80 --publish 443:443 --publish 2222:22
        –name gitlab
        –restart always
        –volume /srv/gitlab/config:/etc/gitlab
        –volume /srv/gitlab/logs:/var/log/gitlab
        –volume /srv/gitlab/data:/var/opt/gitlab
        gitlab/gitlab-ce:latest
    • 访问方式与本地安装一致。

0