温馨提示×

如何配置Linux GitLab仓库

小樊
45
2025-12-20 12:34:20
栏目: 智能运维

Linux 上配置 GitLab 仓库的完整流程

一 环境准备与安装

  • 准备一台满足最低要求的 Linux 服务器:至少2GB 内存(推荐 4GB+)20GB+ 磁盘,并开放80/443/22端口(或自定义端口)。
  • 安装依赖(Debian/Ubuntu 示例):
    sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata perl
  • 添加 GitLab 仓库并安装(社区版 CE):
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    sudo apt install -y gitlab-ce
  • 安装完成后首次查看 root 临时密码(安装后尽快保存):
    sudo grep ‘Password:’ /etc/gitlab/initial_root_password

二 基础配置与启动

  • 编辑主配置文件 /etc/gitlab/gitlab.rb,设置外部访问地址(域名或服务器 IP):
    sudo vim /etc/gitlab/gitlab.rb
    external_url ‘http://your-domain-or-ip’
  • 使配置生效并启动服务:
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl start
  • 常用运维命令:
    sudo gitlab-ctl stop|restart|status
  • 访问 Web:打开浏览器输入 external_url 设置的地址,使用 root 和新设密码登录。

三 防火墙与端口设置

  • 放行 HTTP/HTTPS(UFW 示例):
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable
  • 放行 HTTP/HTTPS(firewalld 示例):
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
  • 如需自定义端口(例如将 GitLab Nginx 改为 9080,SSH 改为 2222),在 /etc/gitlab/gitlab.rb 中设置:
    external_url ‘http://your-domain:9080’
    gitlab_rails[‘gitlab_shell_ssh_port’] = 2222
    同时调整宿主机端口映射(如 -p 9080:80 -p 2222:22),保存后执行 sudo gitlab-ctl reconfigure。

四 创建项目与本地克隆推送

  • 在 GitLab Web 界面创建项目(New Project),选择可见性与初始化选项。
  • 本地生成并添加 SSH 公钥(推荐):
    ssh-keygen -t rsa -b 4096 -C “you@example.com”
    cat ~/.ssh/id_rsa.pub
    将公钥内容粘贴到 GitLab 用户设置中的 SSH Keys。
  • 克隆与推送(使用 SSH 地址):
    git clone git@your-domain:namespace/project.git
    cd project
    echo “# init” > README.md
    git add . && git commit -m “init commit”
    git push origin main
  • 若使用 HTTPS,首次会提示输入用户名与 Personal Access Token(或密码)。

五 备份恢复与后续建议

  • 备份(Omnibus 包):
    sudo gitlab-backup create
    默认备份到 /var/opt/gitlab/backups,可在 /etc/gitlab/gitlab.rb 中设置 gitlab_rails[‘backup_path’] 自定义路径。
  • 恢复(先停止相关服务):
    sudo gitlab-ctl stop puma
    sudo gitlab-ctl stop sidekiq
    sudo gitlab-backup restore BACKUP=timestamp_of_backup
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl start
  • 后续建议:
    • 配置 HTTPS/TLS(Let’s Encrypt 或企业 CA),对外更安全;
    • 配置邮件(SMTP),用于通知与找回密码;
    • 按需启用与注册 GitLab Runner,支撑 CI/CD;
    • 定期演练备份恢复,确保可用性与完整性。

0