曾尝试过各路大神的各种搭建gitolite办法,最后突然发现还是官网的靠谱,可能是因为官网版本够新,够简单吧。
本人纯小白,非计算机专业的,有些地方可能存在误导,大家见谅。
按最新官方方式安装:
前提:服务器:centos 6.2 32bit,客户端:win7 gitbash
1、主、从服务器端分别执行:sudo adduser --system --shell /bin/bash -U jjgit -m
、passwd jjgit
、chmod -R 700 /home/jjgit/
、su - jjgit
、ssh-keygen 一路回车生成公钥
2、客户端安装git bash后打开执行:ssh-keygen 一路回车生成公钥
、scp id_rsa.pub jjgit@服务器地址:~/admin.pub 输入上面设置的密码,即可将管理员公钥copy到主、从服务器
3、主服务器端:
vi .ssh/config 填入以下内容
host gitmirror
user jjgit
hostname 192.168.10.50
port 22
identityfile ~/.ssh/id_rsa
保存退出.
chmod 600 ~/.ssh/config
git clone git://github.com/sitaramc/gitolite
mkdir bin
export PATH=$PATH:~/bin
gitolite/install -to ~/bin
gitolite setup -pk admin.pub
4、从服务器端:
vi .ssh/config后填入一下内容保存退出
host gitserver
user jjgit
hostname 192.168.10.51
port 22
identityfile ~/.ssh/id_rsa
保存退出.
chmod 600 ~/.ssh/config
git clone git://github.com/sitaramc/gitolite
mkdir bin
export PATH=$PATH:~/bin
gitolite/install -to ~/bin
gitolite setup -pk admin.pub
5、客户端:
git clone
jjgit@192.168.10.51:gitolite-admin gitserver
git clone
jjgit@192.168.10.50:gitolite-admin gitmirror
从主服务器的.ssh下取出id_rsa.pub并命名为server-gitserver.pub
将server-gitserver.pub分别存入gitserver/keydir、gitmirror/keydir下
修改gitserver和gitmirror目录下conf/gitolite.conf配置文件,将server-gitserver加入gitolite-admin仓库的写权限中
分别提交到主从服务器
6、主服务器:
ssh gitmirror info 如果输出hello server-gitserver信息则正确配置。
7、客户端:
分别将gitserver、gitmirror下的conf中的gitolite-admin库下增加
option mirror.master = gitserver
option mirror.slaves = gitmirror
option mirror.redirectOK = all
分别提交到主从服务器
8、主服务器:
vi .gitolite.rc
修改其中HOSTNAME值为gitserver,并放开
同步放开mirror两处相关
9、从服务器:
vi .gitolite.rc
修改其中HOSTNAME值为gitmirror,并放开
同步放开mirror两处相关
10、客户端验证:
修改gitserver的gitolite-admin库的conf文件,提交推送,看一下gitmirror是否已被更新
11、如果已经更新,则表示镜像成功。
12、服务器端取消git用户密码,只使用公钥认证:sudo passwd --delete jjgit
13、解决git仓库放在其它分区的问题:用符号链接 ln -s 将其它卷目录链接到 repository 目录即可,具体如下:
sudo cp -R repositories/ /data/jjgitrepositories
rm -rf repositories/
chown -R jjgit:jjgit /data/jjgitrepositories/
ln -s -b /data/jjgitrepositories/ /home/jjgit/repositories
14、搭建完成,enjoy it.
ps,之前在群里共享过这个步骤,今天贴到这里,但愿能够帮到大家。