Gerrit+NGINX+HTTP 实现代码评审平台搭建

Gerrit+NGINX+HTTP 实现代码评审平台搭建_第1张图片


Gerrit 是一个基于 Git 的代码管理工具,它提供了一种称为“代码评审”的功能,可以让多个开发人员在合并代码之前对其进行审查和讨论,以确保代码的质量和符合团队的最佳实践。以下是使用 Gerrit 代码评审的一些好处:

  • 提高代码质量:代码评审可以帮助发现代码中的潜在问题和缺陷,例如错误、不兼容的库或框架、不良的设计等。通过尽早发现和修复这些问题,可以减少代码错误和缺陷对项目的影响。
  • 促进团队合作:代码评审是一种交流和合作的方式,可以让团队成员更好地了解对方的工作,并更好地协作完成项目。通过代码评审,开发人员可以更好地理解其他开发人员的代码,并交流最佳实践和建议,从而提高整个团队的工作效率和代码质量。
  • 减少错误合并:在合并代码之前,代码评审可以检查代码是否符合团队的标准和规范,从而避免错误的合并和错误的代码注入。
  • 提高代码可读性:代码评审可以帮助开发人员更好地理解代码的结构和设计,从而提高代码的可读性和可维护性。
  • 促进代码重构:通过代码评审,开发人员可以及时发现代码中的问题和缺陷,并建议进行代码重构和优化,从而提高代码的性能和可维护性。

     这里介绍下使用 Ubuntu平台下 使用 GERRIT + NGINX + HTTP认证的方式 搭建 GERRIT 评审平台。

1.安装相关依赖并下载GERRIT

apt-get update
apt-get install gnupg  -y
apt-get install  nginx -y procps vim sudo git  -y
apt-get install openjdk-11-jdk-headless  apache2-utils wget net-tools -y
cd /opt/gerrit
wget https://gerrit-releases.storage.googleapis.com/gerrit-3.7.0.war

2.重新配置下NGINX

nginx 单独配置
nginx -c /etc/nginx/nginx.conf			# 设置加载配置文件路径
nginx -s reload	# 重新加载NGINX

3.出现 no such key 解决

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXX

4.启动安装程序

cd /opt
mkdir gerrit_project	#配置安装路径
java -jar gerrit-3.7.0.war init -d gerrit_project

安装过程中 只要注意 Authentication method方式时选择HTTP,然后最后安装插件的时候注意全部都要安装。

认证处:
Authentication method          [HTTP/?]:  Y

插件处:
	Installing plugins.
	Install plugin download-commands version v2.11.3 [y/N]? y
	version v2.11.3 is already installed, overwrite it [y/N]? y
	Install plugin reviewnotes version v2.11.3 [y/N]? y
	version v2.11.3 is already installed, overwrite it [y/N]? y
	Install plugin singleusergroup version v2.11.3 [y/N]? y
	version v2.11.3 is already installed, overwrite it [y/N]? y
	Install plugin replication version v2.11.3 [y/N]? y
	version v2.11.3 is already installed, overwrite it [y/N]? y
	Install plugin commit-message-length-validator version v2.11.3 [y/N]? y
	version v2.11.3 is already installed, overwrite it [y/N]? y
	Initializing plugins.
	No plugins found with init steps.

5.配置gerrit.config文件

配置gerrit.config文件 文件在刚才创建的文件夹下的 etc目录下

[gerrit]
​    basePath = git
​    canonicalWebUrl = http://服务器IP:8089/     #修改为自己的服务器地址与端口
​    serverId = XXXXXXXXXXXXXXXXXXXXXXXXXX		# 这里用默认的就行
[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 = gerrit
​    javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[index]type = LUCENE
[auth]type = HTTP
[receive]
​    enableSignedPush = false
[sendemail]
smtpServer = smtp.163.com		#设置163邮箱  其他的邮箱自己设置
smtpServerPort = 465
smtpEncryption = SSL
sslVerify = true
smtpUser = XXXXXXXXXXXX@163.com		# smtpUser 和from 保持一致即可
smtpPass = 授权码
from = XXXXXXXXXXXXXXX@163.com
[sshd]
​    listenAddress = *:29418			#这个是传输端口 
[httpd]
​    listenUrl = proxy-http://*:8089/	#这里注意端口和上面保持一致
[cache]
​    directory = cache

6.重启gerrit 服务 使配置生效

在刚才创建的文件夹下的bin 文件夹下有 gerrit.sh

./gerrit_project/bin/gerrit.sh restart

7. 创建用户

创建的第一个用户为超级管理员,后续可通过超级管理员授权

# 第一次创建用户时,使用-c
sudo htpasswd -c /opt/gerrit_project/gerrit.password admin
sudo chmod 755 /opt/gerrit_project/gerrit.password

后续创建其他用户使用 -m
 htpasswd -m //opt/gerrit_project/gerrit.password user

8 配置nginx代理转发

/etc/nginx/conf.d/ 路径下
vi gerrit.conf 只修改server部分

server {

        listen *:8099;   #监听接口
        server_name 服务器IP;
        allow  all;
        deny  all;
        auth_basic "Welcomme to Gerrit Code Review Site!";
        auth_basic_user_file /home/gerrit/gerrit.password;
        location / {

                proxy_pass http:// 服务器IP:8089;   # gerrit服务接口
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Host $host;
        }
}

9 重新nginx和Gerrit

./gerrit.sh restart
nginx -s reload

你可能感兴趣的:(Gerrit,nginx,linux,git)