准备资源
- Apache2.4.43
- Gerrit2.14.22
- jre1.8.191
- Git 2.26.0.windows
软件安装
第一步,安装Apache2.4.43.
这里因为之前一直用小皮面板,因此直接使用小皮面板中的Apache,如果想自己安装,可参考网上相关教程。
第二步,安装Git,双击运行下载的.exe文件,非必要修改的话一路默认下一步即可。
第三步,安装Java环境,并配置环境变量。安装Java时,使用其默认安装配置即可。环境变量配置步骤为:计算机-》右键-》属性-》高级系统设置-》高级-》环境变量-》添加JAVA_HOME,找到java安装路径,复制-》配置引用,在Path中添加%JAVA_HOME%\jre\bin
第四步,安装Gerrit。
> java -jar gerrit-2.14.22.war init -d Z:/gerrit
这里选择2.14版本的原因是,工作中基本遇到的都是2.14版本的,因此为了那熟悉的感觉。
执行上述命令后,一路回车即可,相关配置在初始化后,通过配置文件配置。执行完成后会在Z盘下生成一个gerrit的目录。
软件配置
安装好软件后,需要进行一些配置。
配置Apache
打开小皮面板的安装目录,一般默认在D盘中,如有D盘的话,安装目录为phpstudy_pro。
依次进入phpstudy_pro\Extensions\Apache2.4.43\conf,打开httpd.conf。
取消以下行的注释:
mod_access_compat
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
在文件底部,添加如下配置信息
<VirtualHost *:80>
ServerName v3server
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *:80>
Order deny,allow
Allow from all
</Proxy>
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile Z:/htpasswd/users
</Location>
ProxyPass / http://IP地址:8080/
ProxyPassReverse / http://IP地址:8080/
</VirtualHost>
ProxyPass和ProxyPassReverse指向的是Gerrit的地址和端口号,如果在本地的话,就是127.0.0.1。端口可以修改,只要与Gerrit中配置的一致即可。
Htpasswd
这里配置中有一个htpasswd的授权文件,该文件是通过Apache中的htpasswd.exe工具生成的。
进入Apache\bin目录中,打开命令行。
htpasswd.exe -c users luckyion
输入密码,并二次确认,则在当前目录下生成一个users的授权文件,该用户名和密码,则是用来登录Gerrit的。
如果想添加多个,则继续执行
htpasswd.exe users lk
添加参数-c 表示生成一个文件,不加表示在文件中添加用户和密码。
配置Gerrit
Gerrit的配置文件在gerrit\etc目录中,打开gerrit.config文件。
[gerrit]
basePath = git
serverId = 6e54893d-1309-4859-972b-3a9191e2ece1
canonicalWebUrl = http://IP地址:8080/
[database]
type = H2
database = H:\\git\\gerrit\\db\\ReviewDB
[noteDb "changes"]
disableReviewDb = true
primaryStorage = note db
read = true
sequence = true
write = true
[index]
type = LUCENE
[auth]
type = http
[receive]
enableSignedPush = false
[sendemail]
smtpServer = smtp.example.com
smtpUser = example
smtpPass = example
from = example
[container]
user = TestGit
javaHome = D:\\java\\jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://IP地址:8080/
[cache]
directory = cache
这里主要修改的为
- canonicalWebUrl ,和Apache中的配置保持一致。
- [auth] type修改为http
- listenUrl 修改与canonicalWebUrl一致
运行
Gerrit
> java -jar bin\gerrit.war daemon --console-log
执行后出现以下提示,表示启动成功了
[2021-12-25 14:34:04,858] [main] INFO org.eclipse.jetty.server.Server : Started @38229ms
[2021-12-25 14:34:04,858] [main] INFO com.google.gerrit.pgm.Daemon : Gerrit Code Review 2.14.22 ready
如果提示端口被占用,修改为其他的端口号。
Apache
在小皮面板中点击Apache2.4.43对应的启动按钮即可。如提示端口被占用,则一样修改端口号,不过修改后,需要手动再更新以下httpd.conf中的端口号。
使用Gerrit
在打开localhost查看是否能够正常打开Gerrit。
一般能够正常打开,打开后输入之前用htpasswd生成的账户信息,登录。Gerrit默认首个登录用户为管理员。登录后设置一下信息保存,则进入Dashboard页面
至此,Gerrit搭建即已完成。