Part 1 Gerrit Prerequisites:
1.Java JDK>1.7
2.Git
3.SSH server
4.DB
part 2 Set local gerrit server:
$ java -jar ./gerrit-2.11war init -d review_site
DefaultSecureStore:
#除以下选项外,其他选默认即可
Database server type [h2]: h2
Authentication method [OPENID/?]:development_become_any_account
Listen on port [29418]:9420
Create adminstrator user [Y/n]?
username [admin]:ext-huaqin-wangpengfei(电脑用户名)
name [Administrator]:wangpengfei
email [admin@example.com]:wangpengfei@huaqin.com
HTTP password [secret]:
open http://10.0.0.9:9420/#/admin/prjects/
part 3 push all projects to gerrit:
$ repo forall -c 'echo $REPO_PROJECT; ssh -p 9420 admin@localhost gerrit create-project --name $REPO_PROJECT'
attention:REPO_PROJECT 为sever名
REPO_PATH为本地路径名
这条语句执行后只是依据本地工程结构构建sever端的工程结构,工程本身为空
$ repo formall -c 'echo $REPO_PROJECT; git push ssh://ramon@localhost:9420/$REPO_PROJECT +refs/heads/*;'
这条语句推送所有的branch
$ repo formall -c 'echo $REPO_PROJECT; git push ssh://ramon@localhost:9420/$REPO_PROJECT +refs/tags/*;'
这条语句推送所有的tags
attention:推送tags时我们会遇到权限问题
在gerrit文档中我们可以查看到我们所有需的权限信息
因为所有的工程都是继承至 All-projects 所以我们在All projects的Access下增加如下三个权限完成tag推送工作
至此,我们的local gerrit server搭建完成!
---By Amzaon Train