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

Discuss Gerrit on the mailing list: 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/

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/进行访问

相关推荐
HLC++10 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy14 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕14 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫16 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生16 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1117 小时前
linux基础IO
linux·运维·服务器
BelongPanda19 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯19 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983420 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器