本教程环境:windows server2022+Java21.0.1 + git 2.43.0 +nginx1.22.0 + gerrit 3.9.1

1、安装git

下载地址:https://git-scm.com/download/win
一路下一步默认安装

2、安装jdk

下载:https://www.oracle.com/java/technologies/downloads/#jdk21-windows
安装后设置系统环境变量,cmd输入java -version检查是否安装成功,设置环境变量后不生效可以重启一下机器

3、安装nginx

下载宝塔面板,然后安装nginx,
宝塔官网:https://www.bt.cn/new/index.html
浏览器输入http://localhost/查看是否运行成功,若出现nginx介绍页面即成功

4、安装gerrit

gerrit官网:https://www.gerritcodereview.com/
gerrit下载:https://gerrit-releases.storage.googleapis.com/gerrit-3.9.1.war

#安装gerrit,生成gerrit.config,下载的文件名为gerrit-3.9.1.war
java -jar gerrit-3.9.1.war init -d C:\gerrit --batch --install-all-plugins

#命令结束后生成etc/gerrit.config

#拷贝gerrit.war至bin路径下
copy gerrit-3.9.1.war D:\Users\gerrit\bin\gerrit.war

#启动gerrit
java -jar bin/gerrit.war daemon --console-log

5、创建http用户

生成方法如下:

下载htpasswd
APACHEhaus官网:https://www.apachehaus.com/cgi-bin/download.plx
https://de.apachehaus.com/downloads/httpd-2.4.55-o111s-x64-vs17.zip
解压后进入apache\bin目录下执行如下命令
cmd> htpasswd.exe -bc gerrit.password  
将认证文件配置到对应nginx目录即可.

进入apache安装目录
cd C:\phpstudy_pro\Extensions\Apache2.4.39\bin>
#第一次创建用户为管理员,需要 -c 参数,第二次不需要 -c
htpasswd.exe -c C:\Gerrit\gerrit.passwd admin

#输入密码即可创建完成

#在原有密码文件中增加下一个用户
htpasswd -b C:\Gerrit\gerrit.passwd Jack 123456
默认采用MD5加密方式

如果你不想安装htpasswd,也可以通过在线 htpasswd 生成器来完成。,可以使用在线生成https://tool.oschina.net/htpasswd
然后将生成结果保存到gerrit.password文件中,放到你需要的目录下

6、设置反向代理,指定密码文件

进入宝塔面板,创建一个网站,网站设置里添加反向代理

在反向代理配置文件中添加密码文件路径

auth_basic "Gerrit Code Review Restricted";
auth_basic_user_file C:\Gerrit\gerrit.password;
[gerrit]
basePath = git
canonicalWebUrl = http://192.168.41.100:8080/
serverId = 0c464e1a-5da5-4ca5-9664-bceb9533c051
[container]
javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
user = admin
javaHome = C:\\Program Files\\Java\\jdk-17
[index]
type = lucene
[database]
type = h2
database = db/ReviewDB
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
smtpServer = localhost
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache

7、启动gerrit

#启动Gerrit
cd D:\Users\gerrit
java -jar bin\gerrit.war daemon --console-log

8、设置开机启动

在C:\Gerrit目录下创建start.bat文件,文件内容如下

java -jar bin\gerrit.war daemon --console-log

然后右键创建快捷方式,将快捷方式复制到用户启动路径即可实现开机启动
开始运行,输入shell:startup即可打开用户启动目录,一般打开的路径是:C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

9、对接AD/LDAP

#修改gerrit.config配置文件
[auth]
type = ldap
[ldap]
server = ldap://192.168.11.43:389
username = cn=Manager,dc=jingxun,dc=com
password = Jxldap@2022
accountBase = ou=People,dc=jingxun,dc=com
groupBase = ou=Group,dc=jingxun,dc=com
groupMemberPattern = (member=${dn})
accountFullName = cn
supportAnonymous = false