标签:gitolite git ssh ssh-copy-id
在服务器上创建git用户和组
groupadd -g gid git useradd -u uid -g gid -d /home/git git passwd git
生成服务器公钥私钥对
ssh-keygen cp id_rsa.pub gitadmin.pub
下载gitolite源码
cd /home/git git clone git@github.com:sitaramc/gitolite.git
查看说明文档
vim README.markdown
创建gitolite安装目录
mkdir -p $HOME/bin
安装
gitolite/install -to $HOME/bin
设置环境变量(CentOS)
vim .bashrc export GITOLITE_HOME=/home/git/ export PATH=$PATH:$GITOLITE_HOME/bin
设置服务器本地为gitolite管理账户
gitolite -to $HOME/bin
这时/home/git目录下就会出现repositores目录
在服务器上clone下gitolite-admin库进行源码库和权限的设置
git clone git@www.testhost.com:gitolite-admin.git
添加普通用户
开发人员或其他需访问git源码库的人员在自己使用的电脑上运行
ssh-keygen
将生成的pub文件更改文件名后上传的gitolite-admin库中,pub文件上传至keydir目录下,另外
修改conf目录下的gitolite.conf文件,文件格式如下:
@admin=gitadmin @dev=gitadmin dev01 dev02 dev03 @hudson=hudson01 @third=third01 third02 third03 repo gitolite-admin RW+ =@admin repo testing RW+ =@all repo repoone RW+ =@dev @admin R =@hudson repo repotwo RW+ =@dev @admin repo path/.+ C =@admin RW+ =@dev @admin R =@hudson repo mail RW+ =@dev repo dev/.+ C =@dev RW+ =@dev R =@hudson repo path1/path2/path3/.+ R =@third RW+ =@third - master develop V1.0.0 V2.0.0 =@third
上面的文件有用户分组、源码库、路径匹配(path1/path2/path3/.+)、分支权限控制(- master develop V1.0.0 V2.0.0)等功能
备注
SSH、SFTP无密码登陆设置
SSH客户端运行ssh-keygen生成公钥后,运行一下命令,将公钥文件发送到远端服务器上去
ssh-copy-id -i ~/.ssh/username.pub git@www.testhost.com
标签:gitolite git ssh ssh-copy-id
原文地址:http://11046468.blog.51cto.com/11036468/1929051