环境:1台git 主服务器gitserver,1台git备服务器gitmirror,1台windows的pc
步骤:
1:在gitserver和gitmirror上分别安装git+gitolite(v3.6.3)
2:初始化gitolite,命令:gitolite -pk admin.pub;其中初始化后,每台机器上都默认建好gitolite-admin和testing仓库,在本机pc上clone好两台git主备服务器的gitolite-admin.git仓库;
3:配置好git主备服务器的hostname,注:该hostname和DNS的没有任何关系,该名字仅仅是gitolite内部使用名字标志;
如:在gitserver 机器上,修改 ~/.gitolite.rc中的
HOSTNAME => "gitserver"
# enable mirroring (don't forget to set the HOSTNAME too!)
'Mirroring',
在gitmirror 机器上,修改 ~/.gitolite.rc中的
HOSTNAME => "gitmirror"
# enable mirroring (don't forget to set the HOSTNAME too!)
'Mirroring',
4:分别将两台机器初始化的admin.pub copy到pc的gitolite-admin的keydir下,名字分别起:server-gitserver.pub server-gitmirror.pub,(注:名字加server-纯粹是为了区分手工和自动同步,以便在log中可以区分)并提交上传远程的服务器,命令:git push origin master
5:创建host别名,配置~/.ssh/config;
如:gitserver的配置如下:
host gitmirror
user git
hostname XXX.XXX.XXX.XXX
port 22
identityfile ~/.ssh/id_rsa
另外的机器类似
6:测试下ssh服务器,
如:ssh gitmirror info
hello server-gitserver, this is git@XXX running gitolite3 3.6.3
7:最后一步,在gitolite-admin conf文件中配置同步备份的属性;
如:
repo @all
option mirror.master = gitserver
option mirror.slaves = gitmirror
option mirror.redirectOK = all
修改后,保存推送到gitserver上后,就可以使用了;
阅读(2354) | 评论(0) | 转发(0) |