Gerrit的安装与使用说明(Ubuntu)

#本页面按192.168.60.148服务器举例进行安装配置

1.权限配置

|-------------------------------------------------------------------------------------------------------------------------------------------|
| ## 使用root或者有sudo权限用户执行 # 创建gerrit用户 sudo useradd gerrit # 设置gerrit用户的密码 sudo passwd gerrit # 增加sudo权限 sudo visudo |

在root ALL=(ALL:ALL) ALL行下添加如下内容

gerrit ALL=(ALL:ALL) ALL

如下图:

2.安装jdk

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 更新软件资源库 sudo apt update # 安装jdk17 sudo apt ``install openjdk-17-jdk # 查看java版本号 java -version # 列出已安装的 JDK 版本: sudo update-alternatives --list java #设置默认 JDK 版本: sudo update-alternatives --config java |

3.下载gerrit.war包

|-------------------------------------------------------------------------------------|
| cd wget https:``//gerrit-releases``.storage.googleapis.com``/gerrit-3``.9.1.war |

4.安装gerrit

|----------------------------------------------------------------------------------------------------------------------------------------------|
| # 定义安装目录 export GERRIT_SITE=``"/data/gerrit/review_site" # 安装gerrit sudo java -jar ~``/gerrit-3``.9.1.war init -d ${GERRIT_SITE} |

执行完输出如下,红色部分为修改点,其它的默认按回车,如下:

sudo\] gerrit 的密码: Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore \[2024-07-17 15:04:40,058\] \[main\] INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /data/gerrit/review_site/etc/gerrit.config; assuming defaults \*\*\* Gerrit Code Review 3.9.1 \*\*\* Create '/data/gerrit/review_site' \[Y/n\]? \*\*\* Git Repositories \*\*\* Location of Git repositories \[git\]: \*\*\* JGit Configuration \*\*\* Auto-configured "receive.autogc = false" to disable auto-gc after git-receive-pack. \*\*\* Index \*\*\* Type \[lucene\]: \*\*\* User Authentication \*\*\* Authentication method \[openid/?\]: http Get username from custom HTTP header \[y/N\]? SSO logout URL : Enable signed push support \[y/N\]? Use case insensitive usernames \[Y/n\]? \*\*\* Review Labels \*\*\* Install Verified label \[y/N\]? \*\*\* Email Delivery \*\*\* SMTP server hostname \[localhost\]: SMTP server port \[(default)\]: SMTP encryption \[none/?\]: SMTP username : \*\*\* Container Process \*\*\* Run as \[root\]: gerrit Java runtime \[/usr/lib/jvm/java-17-openjdk-amd64\]: Copy gerrit-3.9.1.war to /data/gerrit/review_site/bin/gerrit.war \[Y/n\]? Copying gerrit-3.9.1.war to /data/gerrit/review_site/bin/gerrit.war \*\*\* SSH Daemon \*\*\* Listen on address \[\*\]: Listen on port \[29418\]: Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done \*\*\* HTTP Daemon \*\*\* Behind reverse proxy \[y/N\]? Use SSL (https://) \[y/N\]? Listen on address \[\*\]: Listen on port \[8080\]: 8095 Canonical URL \[[http://169.254.95.120:8095/](http://169.254.95.120:8095/ "http://169.254.95.120:8095/")\]: \*\*\* Cache \*\*\* \*\*\* Plugins \*\*\* Installing plugins. Install plugin codemirror-editor version v3.9.1 \[y/N\]? y Installed codemirror-editor v3.9.1 Install plugin commit-message-length-validator version v3.9.1 \[y/N\]? y Installed commit-message-length-validator v3.9.1 Install plugin delete-project version v3.9.1 \[y/N\]? y Installed delete-project v3.9.1 Install plugin download-commands version v3.9.1 \[y/N\]? y Installed download-commands v3.9.1 Install plugin gitiles version v3.9.1 \[y/N\]? y Installed gitiles v3.9.1 Install plugin hooks version v3.9.1 \[y/N\]? y Installed hooks v3.9.1 Install plugin plugin-manager version v3.9.1 \[y/N\]? y Installed plugin-manager v3.9.1 Install plugin replication version v3.9.1 \[y/N\]? y Installed replication v3.9.1 Install plugin reviewnotes version v3.9.1 \[y/N\]? y Installed reviewnotes v3.9.1 Install plugin singleusergroup version v3.9.1 \[y/N\]? y Installed singleusergroup v3.9.1 Install plugin webhooks version v3.9.1 \[y/N\]? y Installed webhooks v3.9.1 Initializing plugins. ============================================================================ Welcome to the Gerrit community Find more information on the homepage: [https://www.gerritcodereview.com](https://www.gerritcodereview.com/ "https://www.gerritcodereview.com") Discuss Gerrit on the mailing list: [https://groups.google.com/g/repo-discuss](https://groups.google.com/g/repo-discuss "https://groups.google.com/g/repo-discuss") ============================================================================ Initialized /data/gerrit/review_site Init complete, reindexing accounts,changes,groups,projects with: reindex --site-path /data/gerrit/review_site --threads 1 --index accounts --index changes --index groups --index projectsReindexed 0 documents in accounts index in 0.0s (0.0/s) Index accounts in version 13 is ready Reindexing groups: 100% (2/2) Reindexed 2 documents in groups index in 0.3s (7.1/s) Index groups in version 10 is ready Reindexing changes: Slicing projects: 100% (2/2), done Reindexed 0 documents in changes index in 0.0s (0.0/s) Index changes in version 84 is ready Reindexing projects: 100% (2/2) Reindexed 2 documents in projects index in 0.1s (17.4/s) Index projects in version 8 is ready Executing /data/gerrit/review_site/bin/gerrit.sh start Starting Gerrit Code Review: OK Waiting for server on 169.254.95.120:8095 ... OK Please open the following URL in the browser: [http://169.254.95.120:8095/#/admin/projects/](http://169.254.95.120:8095/#/admin/projects/ "http://169.254.95.120:8095/#/admin/projects/") ## 4. gerrit配置 |-------------------------------------------------------------------------------------------------------------| | `cd` `$GERRIT_SITE` `vim etc``/gerrit``.config` `# 修改canonicalWebUrl和listenUrl,如需要配置邮箱请增加上[sendmail]部分,如下:` | \[gerrit

basePath = git

canonicalWebUrl = http://192.168.60.148:8095/

serverId = 0afe5cc3-9171-4ce4-8265-7c97d95a3ae1

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 = root

javaHome = /usr/lib/jvm/java-17-openjdk-amd64

index

type = lucene

auth

type = HTTP

receive

enableSignedPush = false

maxObjectSizeLimit = 50g

sendemail

enable = true

smtpServer = smtp.mxhichina.com

smtpServerPort = 25

smtpEncryption = none

smtpUser = cibot@xxx.com

smtpPass = 123456qQ

from = cibot@xxx.com

sslVerify = false

sshd

listenAddress = *:29418

httpd

listenUrl = http://192.168.60.148:8095/

cache

directory = cache

5. apache配置

|-------------------------------------------------------------------------------------------------------------------------|
| # 安装apache sudo apt ``install -y apache2 # 启用 mod_proxy 模块 sudo a2enmod proxy sudo a2enmod proxy_http |

5.1 配置端口映射,执行 sudo vim /etc/apache2/httpd.conf并写入以下内容(红色为根据自定义进行修改):

<VirtualHost *:8096>

ServerName 192.168.60.148

ProxyRequests Off

ProxyVia Off

ProxyPreserveHost On

AllowEncodedSlashes On

<Proxy *>

Require all granted

</Proxy>

<Location "/login/">

AuthType Basic

AuthName "Gerrit Code Review"

Require valid-user

AuthBasicProvider file

AuthUserFile /data/gerrit/review_site/passwords

</Location>

<Location "/">

AuthType Basic

AuthName "Gerrit Code Review"

Require valid-user

AuthBasicProvider file

AuthUserFile /data/gerrit/review_site/passwords

Options +FollowSymlinks

</Location>

ProxyPass / http://192.168.60.148:8095/ nocanon
ProxyPassReverse / http://192.168.60.148:8095/

<Proxy http://192.168.60.148:8095/*>

AuthType Basic

AuthName "Gerrit Code Review"

Require valid-user

</Proxy>

</VirtualHost>

5.2使httpd.conf生效,在 /etc/apache2/apache2.conf下面文件最后增加以下行

Include httpd.conf

5.3 监听端口,执行sudo vim /etc/apache2/ports.conf,在最后一行增加以下内容

Listen 8096

6.创建帐号密码

生成passwords的路径需要与/etc/apache2/httpd.conf中配置一致

htpasswd /data/gerrit/review_site/passwords admin

7. 启动

sudo /data/gerrit/review_site/bin/gerrit.sh restart

sudo /etc/init.d/apache2 restart

8.登录

在浏览器中输入http://192.168.60.148:8096/进行访问

相关推荐
半桔12 分钟前
【Linux手册】从接口到管理:Linux文件系统的核心操作指南
android·java·linux·开发语言·面试·系统架构
禁默20 分钟前
Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
linux·vim·excel
许白掰2 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
longze_75 小时前
Ubuntu连接不上网络问题(Network is unreachable)
linux·服务器·ubuntu
Dirschs6 小时前
【Ubuntu22.04安装ROS Noetic】
linux·ubuntu·ros
qianshanxue116 小时前
ubuntu 操作记录
linux
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
这我可不懂11 小时前
Python 项目快速部署到 Linux 服务器基础教程
linux·服务器·python
车车不吃香菇12 小时前
java idea 本地debug linux服务
java·linux·intellij-idea
tan77º12 小时前
【Linux网络编程】Socket - TCP
linux·网络·c++·tcp/ip