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

相关推荐
蚰蜒螟1 小时前
从mkdir命令到磁盘:Linux内核目录创建过程深度解析
linux·运维·数据库
coward912 小时前
Linux内核驱动初始化流程认识(关于late_initcall和modul_init驱动初始化宏差异)
linux·嵌入式硬件
modelmd2 小时前
Linux man 命令详解:从入门到精通
linux
SWAGGY..2 小时前
Linux系统编程:(十一)进程状态&&Linux中的僵尸状态
linux·服务器·编辑器·vim
洵有兮2 小时前
Shell 脚本编程学习总结(基础 + 变量 + 条件 + 流程控制 + 函数数组)
linux·学习
我命由我123452 小时前
SEO 与 GEO 极简理解
java·linux·运维·开发语言·学习·算法·运维开发
楼兰公子2 小时前
RK3588 Linux驱动开发大纲
linux·驱动开发
!沧海@一粟!3 小时前
Linux高并发内核优化
linux·运维·oracle
perfect123126453 小时前
轻量运维工具fastdp v6版本
linux·运维
linksinke3 小时前
在 CentOS 7.x 外网环境离线构建便携式 Python 3.11.4 的方案参考
linux·python·centos