centos gitolite 安装 配置 详解
git服务端的管理工具用过2个,一个gitlab,一个是gitolite,
1,gitlab功能强大,有web管理界面,反正是各种方便吧,请参考:linux gitlab Nginx 安装 配置 详解,但是gitlab安装比较麻烦
2,gitolite,安装非常简单,功能也比较简单,基本需要能满足,创建仓库,分配权限,总体来说还不错。
如果频繁的创建仓库,以及人员变更,用gitlab比较合适的,反之gitolite比较合适。
一,安装GIT
# yum install perl openssh git
在这里要注意,所有以#开头执行的命令都root账号,以$开头的命令都非管理账号
二,安装gitolite
1,创建git用户
# adduser git # passwd git
2,切换到git用户,创建安装目录
# su – git $ cd ~ $ mkdir bin
3,克隆gitolite源码
$ git clone https://github.com/sitaramc/gitolite.git
4,生成管理员的公钥和私钥,用root为管理员
$ exit //退出切换到root,直接su root要密码 # SSH-KEYgen //生成公钥和私钥 # cp /root/.ssh/id_rsa.pub /tmp/admin.pub
5,安装gitolite
# su – git $ ./gitolite/install -to /home/git/bin/ $ /home/git/bin/gitolite setup -pk /tmp/admin.pub
6,管理员下载管理库
$ exit //退出切换到root,直接su root要密码 # git clone git@192.168.*.*:gitolite-admin.git
三,添加测试账户
# adduser tank # passwd tank # su - tank $ SSH-KEYgen
生成该用户的公钥和私钥,我们也可以用tortoisegit中的puttyGen,来生成公钥和私钥,
linux下用SSH-KEYgen生成的私钥与puttyGen生成的私钥是不能通用的,如果想通用就要转换一下
四,添加仓库,并配置权限
1,将公钥加到管理库
# cp /home/tank/.ssh/tank.pub /root/gitolite-admin/keydir/
2,修改配置文件,并赋予权限
# vim /root/gitolite-admin/conf/gitolite.conf @test=zhangying tank test //定义个组,多个人员,空格隔开。组最好都放到顶部,集中好管理 repo gitolite-admin RW+ = admin repo testing RW+ = @all repo blog //定义的仓库名,也就是git@192.168.*.*:blog.git RW+ = @test //读写 repo test R = @test //只读
3,将用户信息加到管理库
# /root/gitolite-admin # git add * # git commit -m "add tank" # git push
这样服务器端就搭建好了,不管是linux下切换到tank用户进行clone等,还是在windows下用tortoisegit来clone等,都是可以的。