若只做为版本控制,使用Gitlab构建Git服务器,是一个十分不错地选择。git
但要把版本控制做为一个生态系统的组成部分,使用文本模式的Gitolite构建Git服务器,会更利于系统管理。github
下面开始Gitolite构建Git服务器
服务器
两台CentOS6.5 系统服务器,一台作客户机,一台作服务机,配置以下:ssh
客户机:curl
主机名:gclient.ylhb.comurl
IP:10.0.0.201spa
hosts绑定:版本控制
10.0.0.211 gserver1.ylhb.com
服务机:code
主机名:gserver1.ylhb.comserver
IP:10.0.0.211
hosts绑定:
10.0.0.211 gserver1.ylhb.com
yum install zlib-devel perl-CPAN perl-devel curl-devel gettext expat-devel gettext-devel openssl-devel perl-Time-HiRes git -y
useradd -d /data/git git echo '111111' | passwd --stdin git
su - git mkdir bin git clone https://github.com/sitaramc/gitolite.git ./gitolite/install --to /data/git/bin/
客户机:
安装git
yum install git -y
建立git用户(root用户下)
useradd git echo '111111' | passwd --stdin git生产git用户密钥对
ssh-keygen -t rsa #一直回车上传公钥到服务机,并改文件名为admin.pub
scp .ssh/id_rsa.pub git@10.0.0.211:/tmp/admin.pub服务机:
切换到git用户,为gitolite配置管理员
su - git ./bin/gitolite setup -pk /tmp/admin.pub
su - git git clone git@10.0.0.211:gitolite-admin.git能够看到管理库里有两个目录,其中conf/gitolite.conf用于Git项目配置及用户访问权限设置,keydir目录存放用户的SSH公钥。
添加用户
将其余用户的SSH公钥文件(文件名为用户名.pub,如ylhb.pub)放在keydir下便可。
添加库
如添加gylhb库,并配置admin和ylhb用户对其可读、可写、可强制更新
编辑conf/gitolite.conf文件,配置以下便可:
repo gitolite-admin RW+ = admin repo testing RW+ = @all repo gylhb RW+ = admin ylhb提交修改并push到服务器,完成库及用户配置
git status git add conf/gitolite.conf keydir/ylhb.pub git commit -m "The first" git push origin master验证:
ylhb用户下执行如下命令:
git clone git@10.0.0.211:gylhb.git