作者:男人要走火_293 | 来源:互联网 | 2023-10-13 05:20
在服务器上创建git用户和组groupadd-ggidgituseradd-uuid-ggid-dhomegitgitpasswdgit生成服务器公钥私钥对ssh-keygen
在服务器上创建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服务器