Git服务器搭建与配置管理指南
在团队协作或开源项目中,Git服务器是代码管理的核心工具,本文将详细讲解如何搭建私有Git服务器并实现高效配置管理,兼顾安全性与易用性。
基于SSH协议的基础搭建
sudo apt update && sudo apt install git -y # Debian/Ubuntu sudo yum install git -y # CentOS/RHEL
git
并禁用Shell登录: sudo adduser git sudo chsh git -s $(which git-shell)
sudo mkdir /opt/git sudo chown git:git /opt/git sudo -u git git init --bare /opt/git/project.git
git clone git@server_ip:/opt/git/project.git
使用GitLab(企业级方案)
GitLab提供完整的DevOps功能,适合中大型团队:
sudo apt install curl openssh-server ca-certificates postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo EXTERNAL_URL="http://your_domain" apt install gitlab-ce
http://your_domain
完成初始化配置。轻量级方案:Gitea
适用于资源有限的场景:
docker run -d --name=gitea -p 3000:3000 -v /var/lib/gitea:/data gitea/gitea:latest
权限控制
~/.ssh/authorized_keys
文件中。 gitolite
或GitLab的RBAC(角色访问控制)细化权限: # gitolite示例 repo project RW+ = alice R = bob
分支保护策略
main
分支为保护分支,禁止直接推送。 自动化部署与钩子
hooks
目录中添加脚本(如post-receive
): #!/bin/sh git --work-tree=/var/www/html checkout -f
SSH安全配置
Port 2222 # 修改/etc/ssh/sshd_config
定期备份
tar -czvf git_backup_$(date +%F).tar.gz /opt/git /home/git/.ssh
日志监控
sudo auditctl -w /opt/git -p wa -k git_audit
authorized_keys
文件权限(应为600)。 引用说明