CentOS6.5 Gitolite构建Git服务器

若只作为版本控制,使用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

二、安装及配置gitolite(服务机上)

1.安装git及相关包

yum install zlib-devel perl-CPAN perl-devel curl-devel gettext expat-devel gettext-devel openssl-devel perl-Time-HiRes git -y

2.创建git用户

useradd -d /data/git git
echo '111111' | passwd --stdin git

3.安装gitolite

su - git
mkdir bin
git clone https://github.com/sitaramc/gitolite.git
./gitolite/install --to /data/git/bin/

三、客户端生成秘钥对,为gitolite配置管理员

客户机:

安装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

四、管理员日常管理(客户机)

1.克隆gitolite管理库

su - git
git clone [email protected]:gitolite-admin.git
可以看到管理库里有两个目录,其中conf/gitolite.conf用于Git项目配置及用户访问权限设置,keydir目录存放用户的SSH公钥。

2.添加用户,添加库及配置库管理用户权限

添加用户

将其他用户的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


你可能感兴趣的:(linux,git,gitolite)