当前位置:首页 > 问答 > 正文

Git管理 服务器部署 如何搭建CentOS上的Git服务器并实现高效代码协作

🚀 Git管理 | 服务器部署 | 手把手教你搭建CentOS上的Git服务器,代码协作从此开挂!


🌱 场景引入:为什么你需要一台自己的Git服务器?

想象一下:团队开发时,代码托管在第三方平台(比如GitHub)总担心隐私泄露?或者公司内网开发,每次传代码都要用U盘“人工搬运”?😱 更惨的是,某天小王手滑删除了关键分支,全组熬夜回滚代码……

别慌! 今天带你用CentOS 8搭建一台属于自己的Git服务器,支持SSH密钥登录、权限管控、自动部署,还能和Jenkins/GitLab无缝联动!💻 无论你是个人开发者还是中小团队,这篇保姆级教程都能让你从“代码小白”变身“部署大神”!


🔧 第一步:环境准备(CentOS 8+)

  1. 更新系统

    sudo yum update -y  # 📦 先给系统打个“补丁”
    sudo yum install curl policycoreutils-python openssh-server -y  # 安装依赖
  2. 安装Git

    sudo yum install git -y  # 🚀 一键安装,版本最新!
    git --version  # 验证安装成功(显示版本号即OK)

🔑 第二步:配置SSH访问(安全第一!)

Git服务器默认通过SSH协议传输代码,咱们需要生成密钥对并禁用密码登录:

  1. 服务器端生成SSH密钥(如果已有可跳过)

    ssh-keygen -t ed25519 -C "your_email@example.com"  # 🔑 生成ED25519密钥(更安全!)
  2. 创建Git用户并配置权限

    sudo adduser git  # 👤 创建专用用户
    sudo passwd git  # 设置密码(后续可禁用密码登录)
    sudo mkdir /home/git/.ssh  && chmod 700 /home/git/.ssh  # 创建SSH目录
    sudo touch /home/git/.ssh/authorized_keys  && chmod 600 /home/git/.ssh/authorized_keys  # 密钥存储文件
  3. 客户端上传公钥
    在本地电脑执行:

    cat ~/.ssh/id_ed25519.pub | ssh git@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"  # 📤 上传公钥到服务器

📂 第三步:初始化Git仓库

  1. 服务器端创建裸仓库

    sudo mkdir /opt/git_repos  # 🗂️ 仓库根目录
    sudo chown git:git /opt/git_repos  # 权限归属Git用户
    cd /opt/git_repos
    sudo -u git git init --bare my_project.git  # 🚀 创建裸仓库(无工作区)
  2. 客户端克隆仓库

    git clone git@your_server_ip:/opt/git_repos/my_project.git  # 🌐 通过SSH克隆
    cd my_project
    touch README.md && git add . && git commit -m "Init commit"  # 提交测试文件
    git push origin master  # 🚀 推送成功!

🔒 第四步:权限管控(告别“手滑删库”!)

使用 Gitolite 工具实现细粒度权限管理:

  1. 安装Gitolite

    sudo yum install gitolite -y  # 📦 一键安装
    sudo gitolite setup -pk /home/git/.ssh/id_ed25519.pub  # 绑定管理员公钥
  2. 配置权限规则
    编辑 ~/gitolite-admin/conf/gitolite.conf

    repo my_project
        RW+     =   admin   # 管理员可读写+强制推送
        RW      =   dev_team   # 开发组仅读写
        R       =   tester   # 测试组仅读

🚀 第五步:自动化部署(Jenkins联动)

  1. 安装Jenkins

    sudo yum install java-11-openjdk -y  # 🍵 先装Java环境
    curl -fsSL https://pkg.jenkins.io/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repo
    sudo yum install jenkins -y  && sudo systemctl start jenkins  # 🛠️ 启动服务
  2. 配置Git钩子触发部署
    在Git仓库目录 /opt/git_repos/my_project.git/hooks 下创建 post-receive 文件:

    #!/bin/bash
    echo "Deploying to production..."
    git --work-tree=/var/www/my_project --git-dir=/opt/git_repos/my_project.git checkout -f

💡 你的专属Git服务器已上线!

你的团队可以:

Git管理 服务器部署 如何搭建CentOS上的Git服务器并实现高效代码协作

  • 🔐 通过SSH密钥安全访问代码
  • 👥 按角色分配读写权限
  • 🚀 代码推送自动触发部署
  • 📊 结合Jenkins实现持续集成

还在等什么? 赶紧搭建你的私有Git服务器,让代码协作从此高效又安心!🎉

(信息来源:CentOS官方文档、Git 2.39.1版本手册,更新日期2025-08)

Git管理 服务器部署 如何搭建CentOS上的Git服务器并实现高效代码协作

发表评论