
WinVM下搭建Gerrit 本地服务器1.VMware2. GerritDocker下载Gerrit文件相关Gerrit 账户搭建Gerrit 子成员创建3. Windows1.VMware可自行搜索VMware WorkStation下载地址进行相关工具下载2. GerritDocker下载确保VMware网络正常 (略)sudo apt install -y docker.io docker-compose 下载国内版本镜像sudo systemctl enable docker --now 启动服务sudo usermod -aG docker USER 加入用户组 下次启用不在使用sudoGerrit文件相关sudo mkdir -p ~/docker/gerritsudo chown -RU S E R : USER:USER:USER ~/docker/gerritvim docker-compose.ymlversion:3.3services:gerrit:image:gerritcodereview/gerrit:latest container_name:gerrit restart:always ports:-8080:8080-29418:29418volumes:-./gerrit:/var/gerrit配置docker加速sudo mkdir-p/etc/docker sudo tee/etc/docker/daemon.jsonEOF{registry-mirrors:[https://docker.1ms.run,https://docker.m.daocloud.io]}EOF重启docker服务 并创建gerrit服务器sudo systemctl daemon-reload sudo systemctl restart docker sudo docker-compose up-dGerrit 账户搭建sudo docker exec -it gerrit bash 进入docker bash查看gerrit登录信息ash-5.1$ cat/var/gerrit/etc/gerrit.config[gerrit]basePathgit canonicalWebUrlhttp://localhost:8080serverId0092f064-719f-46c8-a171-0a05abcd80c6[container]javaOptions-Dflogger.backend_factorycom.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstancejavaOptions-Dflogger.logging_contextcom.google.gerrit.server.logging.LoggingContext#getInstanceusergerrit javaHome/usr/lib/jvm/java-21-openjdk-21.0.9.0.10-1.el9.alma.1.x86_64 javaOptions-Djava.security.egdfile:/dev/./urandom javaOptions--add-opens java.base/java.netALL-UNNAMED javaOptions--add-opens java.base/java.lang.invokeALL-UNNAMED[index]typelucene[auth]typeOPENID[receive]enableSignedPushfalse[sendemail]smtpServerlocalhost[sshd]listenAddress*:29418[httpd]listenUrlhttp://*:8080/[cache]directorycache bash-5.1$ vi/var/gerrit/etc/gerrit.config 将[auth]内容改成下面的[auth]typeDEVELOPMENT_BECOME_ANY_ACCOUNT重启Gerritsudo docker restart gerritGerrit 子成员创建生成ssh-keymkdir -p ~/.sshssh-keygen -t ed25519 -C “gerrit” -f ~/.ssh/gerrit粘贴对应公钥文件内容 到Gerrit账户SSH-KEY中cat ~/.ssh/gerrit.pubSSH ConfigHost gerrit-url HostName192.168.1.1User gerrit Port29418IdentityFile~/.ssh/gerrit本地git配置git config user.nameAlicegit config user.emailalicetest.comGerrit代码拉取以及提交提交// 设置vim为默认的编辑器git config--global core.editorvimcd~/Code///第一次可能没有changId生成首次执行即可f$(git rev-parse --git-dir)/hooks/commit-msgcurl-o$fhttp://localhost:8080/tools/hooks/commit-msgchmodx$f//补充第一次提交由于changdId丢失导致的不成功git commit--amend--no-edit git push origin HEAD:refs/for/master拉取git clonessh://xxxxlocalhost:sss/xproject//从gerrit服务器中找3. Windows3.1 其他电脑物理网线连接Gerrit服务器1.IP helper 服务 sc query iphlpsvc 不是running则 net start iphlpsvc2.端口转发2.1Gerrit Web netsh interface portproxy add v4tov4^listenaddress192.168.1.200^listenport8080^connectaddress192.168.126.128^connectport80802.2Gerrit SSH netsh interface portproxy add v4tov4^listenaddress192.168.1.200^listenport29418^connectaddress192.168.126.128^connectport294183.防火墙 netsh advfirewall firewall add rule nameGerrit8080dirin actionallow protocolTCP localport8080netsh advfirewall firewall add rule nameGerrit29418dirin actionallow protocolTCP localport29418netsh interface portproxy show all3.2 windows删除对应防火墙规则netsh interface portproxy delete v4tov4 listenaddress192.168.1.200listenport8080netsh interface portproxy delete v4tov4 listenaddress192.168.1.200listenport29418