使用 gitolite 搭建 git 服务管理工具

gitolite

gitolite是一款Perl语言开发的Git服务管理工具,通过公钥对用户进行认证。其允许通过存储库指定权限,还可以通过每个存储库中的分支或标记名称指定权限。也就是说,您可以指定某些人(或一组人)只能推送某些“refs”(分支或标签)而不能推送其他人 gitolite 源码地址


安装 gitolite

  1. 创建 gitolite(随意)用户
sudo adduser --system --group --shell /bin/bash --disabled-password gitolite
  1. 在 /home/gitolite(创建用户)/ 创建 .ssh 目录
sudo mkdir -p /home/gitolite/.ssh
  1. 生成公钥 ssh-keygen
ssh-keygen -t rsa -C "邮箱"
sudo cp .ssh/id_rsa.pub /home/gitolite/.ssh/
sudo chown -R gitolite:gitolite /home/gitolite/
  1. 源码安装
sudo su - gitolite
git clone https://github.com/sitaramc/gitolite
mkdir ~/bin && gitolite/install -to ~/bin
exit //退出当前用户
sudo su - gitolite
gitolite setup -pk ~/.ssh/id_rsa.pub
exit //退出当前用户
  1. 克隆 gitolite-admin 如果公钥是在本地生成,则只能在本地克隆 gitolite-admin 仓库
git clone [email protected](本地地址):gitolite-admin && cd gitolite-admin
  1. gitolite-admin 目录下有两目录: conf(权限控制配置) 、keydir(放置公钥)

添加一个只有开发机有权限的 test 项目

  1. 将开发机的公钥添加到 gitolite-admin/keydir 目录

  2. 创建 test 项目且只有开发机有权限

vim conf/gitolite.conf
//在原有内容下方增加下面配置
repo test
    RW+ = test

git add --all
git commit -m 'test'
git push

在开发机 clone test 项目

git clone [email protected]服务器:test.git

黄铭博客
请先登录后发表评论
  • latest comments
  • 总共1条评论
黄铭博客

Mickeyto:test....

2019-08-12 23:32:28 回复