gerrit配置replication插件

当主服务器有提交时,默认通过ssh协议向从服务器推送提交,完成主从同步.

无密码访问镜像服务器

生成无密码rsa公钥私钥对

SSH authentication must be by passwordless public key

gerrit@mirrorServer: ssh-keygen -t rsa #直接按三次回车键即可
将~/.ssh/id_rsa.pub文件服务器到镜像服务器~/.ssh/authorized_keys中
scp gerrit@masterServer:/home/gerrit/.ssh/id_rsa.pub ~/.ssh/master.pub
cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys


chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
#这是linux的安全要求,如果权限不对,自动登录将不会生效

确保主服务器~/.ssh/known_hosts中包含镜像服务器的公钥,当镜像服务器ssh公私钥重新生成时,主服务器known_hosts的公钥也要更换.

#测试无密码能否登录
#添加镜像服务器的host key到known_hosts
gerrit@masterServer: ssh gerrit@mirrorServer

配置replication

vi etc/replication.config
[remote "mirrorServer"]
url = gerrit@mirrorServer:/home/gerrit/review_site/git/${name}.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
mirror = true
threads = 3
replicationDelay = 15
#重启主服务器
./bin/gerrit.sh restart
#查看replication日志
tail -f logs/replication_log
手动同步
ssh -p 29418 admin@127.0.0.1 gerrit --help
ssh -p 29418 admin@127.0.0.1 replication start --help
ssh -p 29418 admin@127.0.0.1 replication start --all

遇见的问题

cannot execute: git-upload-pack
ls -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ls -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
clone镜像服务器仓库
Fatal : Could not fetch refs from ssh:admin@mirrorServer:29418/test_repo.git
#向主仓库提交一次修改,同步后就可以clone了
reject HostKey
vi ~/.ssh/config

Host mirror
    User gerrit
    IdentityFile  /home/gerrit/.ssh/id_rsa    #/path/to/the/private/key
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

参照:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值