当前位置: 首页 > news >正文

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/]:

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

相关文章:

  • QScrCpy源码解析(3)监听手机usb端口
  • Python数据分析及相关库(二)
  • 轻量级Java跨包调用(完全解耦)
  • vue 走马灯 纵向滚动
  • redis 延迟双删
  • 如何理解神经网络中的BatchNorm实现了类似于正则化的效果?
  • 为 Kubernetes 提供智能的 LLM 推理路由:Gateway API Inference Extension 深度解析
  • 【特权FPGA】之按键消抖
  • 自动驾驶时间同步
  • vue3 开发电子地图功能
  • Daz3D角色UE5材质优化
  • 解锁塔能科技,开启工厂绿色转型与可持续发展双引擎
  • 基于 OpenHarmony 5.0 的星闪轻量型设备应用开发-Ch1 开发环境搭建
  • 0201概述-机器学习-人工智能
  • go-zero自动生成repository文件和测试用例
  • 无人机击落技术难点与要点分析!
  • 探索 OpenHarmony 开源硬件的学习路径:从入门到实战的全攻略
  • 14. git clone
  • MySQL 架构设计:数据库的“城市规划指南“
  • ubuntu18.04安装miniforge3
  • 动态网站开发工程师证/今天热点新闻事件
  • 自己做的网站上怎么编辑滚动窗口/网络营销知名企业
  • 南宁网站建设公司哪里/引擎优化是什么意思
  • 企业网站可概括为/seo培训资料
  • 校园网站建设培训/互联网销售包括哪些
  • 做外贸的网站有那些/怎么优化