若只作为版本控制,使用Gitlab构建Git服务器,是一个十分不错地选择。
但要把版本控制作为一个生态系统的组成部分,使用文本模式的Gitolite构建Git服务器,会更利于系统管理。
下面开始Gitolite构建Git服务器
两台CentOS6.5 系统服务器,一台做客户机,一台做服务机,配置如下:
客户机:
主机名:gclient.ylhb.com
IP:10.0.0.201
hosts绑定:
10.0.0.211 gserver1.ylhb.com
服务机:
主机名:gserver1.ylhb.com
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 [email protected]:/tmp/admin.pub服务机:
切换到git用户,为gitolite配置管理员
su - git ./bin/gitolite setup -pk /tmp/admin.pub
su - git git clone [email protected]: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 [email protected]:gylhb.git