Gerrit是一个基于Web的代码评审工具,它基于git版本控制系统。Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅,Gerrit会记录每一次提交的代码修改,但只有它们被审阅和接收后才能合入成为项目的一部分。Gerrit部署在中心库位置,Reviewer可以在线对代码检查和评论,只有经过review+2才能合入中心库,增强了中心代码的健壮性。
官方网站:https://www.gerritcodereview.com/
指导文档:https://gerrit-documentation.storage.googleapis.com/Documentation/2.14.6/index.html
我的配置是
Java17 + git 2.33.0 + Apache 2.4.49 + gerrit 3.4.1
Apache:https://httpd.apache.org/
Apache全称为Apache HTTP Server,Apache官方不提供二进制软件,需要用第三方下载如
ApacheHaus
,需要注意Apache版本和VC Redistributable版本对应
gerrit:https://gerrit-releases.storage.googleapis.com/gerrit-3.4.1.war
1.安装和配置Apahce
将Apache24文件夹复制到任意目录作为安装位置,该文件夹即可使用
Define SRVROOT "D:\Users\Apache24"
ServerRoot "${SRVROOT}"
Listen 80
双击Apache/bin/httpd.exe运行服务,浏览器输入http://localhost/查看是否运行成功,若出现Apache介绍页面即成功
httpd.exe -k install -n "Apache24"
2.安装和配置Gerrit
java -jar gerrit-3.4.1.war init -d D:\Users\gerrit
Authentication method [openid/?]: HTTP
copy gerrit-3.4.1.war D:\Users\gerrit\bin\gerrit.war
java -jar bin/gerrit.war daemon --console-log
3.创建passwd文件,添加gerrit登录用户
https://httpd.apache.org/docs/2.4/programs/htpasswd.html
Apache24/bin/htpasswd.exe -c D:\Users\gerritpsd\.passwd fangjian
4.配置文件修改参考
Apache24/conf/httpd.conf
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
<VirtualHost *:80>
ServerName 192.168.41.100
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *:80>
Require all granted
</Proxy>
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile D:/Users/gerritpsd/.passwd
</Location>
AllowEncodedSlashes On
ProxyPass / http://192.168.41.100:8080/
</VirtualHost>
gerrit/etc/gerrit.config
[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 = fangjian
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
5.启动Apache+Gerrit
D:\Users\Apache24\bin\httpd.exe
cd D:\Users\gerrit
java -jar bin\gerrit.war daemon --console-log
6.打开网页Gerrit,输入地址:http://192.168.41.100/
,填写之前注册过的管理员账号和密码即可登录成功
https://www.cnblogs.com/yinzhengjie/p/11007383.html
https://my.oschina.net/superdakevin/blog/617602
nginx:https://juejin.cn/post/6844903559989821453#heading-5
nginx:https://www.cnblogs.com/huxiansheng/p/13397582.html
Windows10搭建Gerrit背景(Java+Git+Apache+Gerrit)安装Java安装Git安装Apache安装Gerrit配置文档修改
背景(Java+Git+Apache+Gerrit)
俄是个懒人,上海疫情闹心的日子里才开始思考自己的狗生生存能力。这不最近看书进行“一禅指”式敲代码重构结构奔溃的时刻,突然想起有个Gerrit可以用来管理和review代码,反正迟早要掌握它,那就先来走一波安装(呸,应该是高大上的搭建)教程~~~
通过查资料和翻技术博客,发现搭建Gerrit之前需要安装J
1.前期准备:
安装Gerrit前的准备:Gerrit的安装最好在ubuntu下进行,本人在红帽系统安装中遇到很多问题,接下来说说安装Gerrit前要安装的一些软件,以及做的一些配置。
1.1 虚拟机的配置
Gerrit的使用要求虚拟机的连接方式为桥接,并且虚拟机ip与本机ip要在同一网段上,虚拟机设置ip要使用root登陆,vi编辑/etc/network/interfaces,配置如图1
2. 下载Gerrit的WAR包:
- 访问Gerrit官方网站(https://www.gerritcodereview.com/downloads.html)下载最新版本的Gerrit WAR包。
3. 创建Gerrit数据库:
- 使用MySQL或PostgreSQL创建一个新的数据库。
4. 配置Gerrit:
- 在Gerrit安装目录下创建一个名为`etc`的文件夹。
- 在`etc`文件夹中创建一个名为`gerrit.config`的配置文件,并根据您的需求进行配置(例如数据库连接、权限等)。
- 在`etc`文件夹中创建一个名为`secure.config`的配置文件,用于存储敏感信息(例如数据库密码)。
5. 初始化Gerrit:
- 打开命令行终端,导航到Gerrit安装目录。
- 运行以下命令初始化Gerrit:
java -jar gerrit.war init -d <GERRIT_SITE_DIRECTORY>
其中,`<GERRIT_SITE_DIRECTORY>`是您希望将Gerrit存储在其中的目录路径。
6. 启动Gerrit:
- 运行以下命令启动Gerrit服务器:
java -jar gerrit.war daemon -d <GERRIT_SITE_DIRECTORY>
Gerrit将在指定的目录下启动。
7. 访问Gerrit网页:
- 在浏览器中输入`http://localhost:8080`(如果您在本地运行Gerrit)或者服务器IP地址,打开Gerrit的网页界面。
请注意,以上步骤仅提供了基本的Gerrit环境搭建过程。在实际部署中,您可能还需要进行其他配置和调整以满足您的特定需求。建议参考Gerrit官方文档(https://gerrit.googlesource.com)以获取更详细的信息和帮助。