gitolite搭建

简单流程

<!--添加用户-->
useradd git
useradd gitadmin
su git

<!--下载gitolite-->
mkdir -p $HOME/bin   
git clone https://github.com/sitaramc/gitolite
gitolite/install -to $HOME/bin

<!--生成管理员的证书-->
su gitadmin
cd 
ssh-keygen
cp .ssh/id_rsa.pub /tmp/

<!--设置管理员-->
su git
cd 
gitolite setup -pk /tmp/id_rsa.pub

<!--管理您的gitolite安装-->
su gitadmin
cd
git clone git@localhost:gitolite-admin




详细流程

安装git

yum install git

添加git用户(linux添加用户)

具体参考linux用户详解

useradd git        用来管理仓库
useradd gitadmin   用来管理授权

<!--如果存在就删除-->
userdel -rf git
userdel -rf gitadmin

准备ssh密钥

> SSH是SecureShell的缩写,是一种专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH协议可以有效防止远程管理过程中的信息泄露问题。

SSH传输的过程如下:
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,允许用户登录。

ssh-keygen -f ~/.ssh/test_rsa //其他参数参考文档 -N '密码' -t rsa (加密算法)

安装gitolite

安装依赖perl cpan (perl一种语言,最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN)
所以安装的用处主要是解决一些正则表达式的(我们在linux中用到正则的时候就需要安装)。

mkdir -p $HOME/bin   
git clone https://github.com/sitaramc/gitolite
gitolite/install -to $HOME/bin  

对于首次设置,您需要准备好公用密钥文件(通常来自管理员的工作站)。如果主gitolite管理员的用户名是“alice”,则应将该文件命名为“alice.pub”并将其复制到服务器。

<!--建议管理员从新创建一个用户-->
<!--gitadmin这个用户生成秘钥-->
ssh-keygen 
<!--把私钥移动到tmp目录下(复制到服务器)-->
<!--一旦完成,执行下面-->
gitolite setup -pk gitadmin.pub

<!--在gitadmin家目录-->
git clone git@host:gitolite-admin

创建仓库

vi gitolite.conf

<!--添加仓库添加权限-->
repo lsmt
    RW+     =   @all
    
<!--本地秘钥上传服务器-->
scp shuo.mac.pub root@180.76.100.246:/home/gitadmin/gitolite-admin/keydir

...
git push


su git && cd repositories/
会发现有下面的目录,表示创建成功
lsmt.git

git clone git@ip地址:仓库名
<!--不管是服务器上的用户还是远程的用户只要有证书在才可以clone代码-->
<!--clone代码失败,一般都是权限问题。检查是否在目录中-->

相关文档

https://github.com/sitaramc/gitolite

posted @ 2018-04-25 18:19  lsmt  阅读(297)  评论(0编辑  收藏  举报