# 直接下载jar文件后
java -jar gerrit-2.14.1.war init -d /opt/gerrit
# 安装复制插件
unzip gerrit-2.14.1.war
ssh -p 29418 gerrit_admin_user@localhost gerrit plugin install -n replication.jar - < ./WEB-INF/plugins/replication.jar
# 如果安装时提示权限问题,要在gerrit.config 上添加 allowRemoteAdmin 参数,文件见下面
# gerrit IP: 192.168.5.2# gitlab IP: 192.168.5.3# 在gerrit 上,把下面的结果放到gerrit账号的 known_hosts 文件中ssh-keyscan -t rsa 192.168.5.3 >> ~/.ssh/known_hosts# 同时把gerrit用户的ssh-key 添加到gitlab仓库中,并设置为需要同步仓库的master
root@grt01:/opt/gerrit/etc# cat replication.config [remote "git01"]projects = grt_demo01 url = git@192.168.5.3:mobile/grt_demo01.git push = +refs/heads/*:refs/heads/* push = +refs/tags/*:refs/tags/* push = +refs/changes/*:refs/changes/* timtout = 30 threads = 3
root@grt01:/opt/gerrit/etc# cat gerrit.config [gerrit]basePath = gitserverId = 822d309b-9f9b-478b-21c7-1ca14f92abcfcanonicalWebUrl = http://grt01.test.local:8080/[database]type = h2database = /opt/gerrit/db/ReviewDB[index]type = LUCENE[auth]type = LDAPgitBasicAuthPolicy = HTTP[ldap] server = ldap://ad.test.local username = service@test.local password = 8888888 accountBase = DC=test,DC=local# groupBase = DC=test,DC=local accountPattern = (&(objectClass=person)(sAMAccountName=${username})) accountFullName = displayName accountEmailAddress = mail accountSshUserName = sAMAccountName# groupMemberPattern = (sAMAccountName=${username})# groupName = cn[receive]enableSignedPush = false[sendemail] smtpServer = smtp.test.com smtpServerPort = 25 smtpUser = gerrit@test.com enable=true[container]user = gerritjavaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre[sshd]listenAddress = *:29418[httpd]listenUrl = http://*:8080/[cache]directory = cache[plugins] # allow install plugin allowRemoteAdmin = true
上面使用的是域认证
root@grt01:/home/gerrit/.ssh# cat config Host git01 User gerrit IdentityFile ~/.ssh/id_rsa StrictHostKeyChecking no UserKnownHostsFile /dev/null
#把gitlab相关项目clone到gerritgit clone --mirrror .....#更改权限chown gerrit:gerrit -R .....#移动到gerrit的仓库位置mv src /opt/gerrit/git/#重启gerrit,即可在gerrit看见相关项目/opt/gerrit/bin/gerrit.sh restart
参考1
参考2
参考3
参考4
账号管理参考