搭建Gerrit环境Ubuntu

news2024/11/25 9:56:58

搭建Gerrit环境

1.安装apache

	sudo apt-get install apache2
注意:To run Gerrit behind an Apache server using 'mod_proxy', enable the necessary 
Apache2 modules:
执行:sudo a2enmod proxy_http
执行:sudo a2enmod ssl 
使新的配置生效,需要执行如下命令:
  service apache2 restart

2.安装PostgreSQL数据库

sudo apt-get install postgresql
注意:安装完postgresql后,会自动创建一个用户名和密码均为postgres的账户。

3.增加Gerrit需要的数据库

执行:sudo -u postgres createuser -RDIElPS zmj
执行:sudo -u postgres createdb -E UTF-8 -O zmj reviewdb

4.安装Gerrit

在Gerrit官网上下载Gerrit安装包 https://www.gerritcodereview.com/ 点击Download 下载gerrit-3.7.0.war

创建目录 mkdir gerrit

进入目录 cd gerrit

如果zmj@ubuntu:~/gerrit$ java -jar gerrit-3.7.0.war init -d review_site   提示
Command 'java' not found, but can be installed with:

sudo apt install default-jre            
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless 
下载sudo apt install openjdk-11-jre-headless  后再次执行命令

指定git存储仓库 gerr 把gerr文件名改为git

[root@localhost gerrit]# java -jar gerrit-3.1.3.war init -d review_site

根据提示一步步安装gerrit


*** Gerrit Code Review 3.1.3

***

Create '/usr/local/src/gerrit/review_site' [Y/n]? y

#程序会自动创建该文件,必须输入”Y“,如果输入"N"则程序会退出,默认就是"Y",因此我们直接回车应该也可以的
 

*** Git Repositories

***

Location of Git repositories   [git]:/home/zmj/gerr

#指定Git存储库,最好指定一个不存在的目录,他会自动创建。

*** Index***

Type                           [lucene/?]:

#默认即可。

 
*** User Authentication***

Authentication method          [openid/?]: HTTP

#认证方法输入HTTP,我们要使用反向代理

Get username from custom HTTP header [y/N]? n

#询问咱们是否从自定义HTTP头获取用户名,我们输入”n“

SSO logout URL                 :

Enable signed push support     [y/N]? y

#启用签名的推送支持

*** Review Labels***

Install Verified label         [y/N]?

#安装已验证标签,默认即可。

 

SMTP server hostname           [localhost]: smtp.exmail.qq.com

#输入自动发送邮件的smtp服务器,这里我们用的是腾讯企业邮箱

SMTP server port               [(default)]: 465

#465/994时SSL协议端口后,25是非SSL协议端口号

SMTP encryption                [none/?]: SSL

#如果上一步输入的是465/994,此处输入SSL,否则直接回车即可

SMTP username                  [root]: jsyfzxqa@corp.to8to.com

#此处是你定义自动发送邮件的邮箱地址

jsyfzxqa@corp.to8to.com's password :

#接着我们需要输入2次咱们邮箱的授权码。              

confirm password :

Run as                         [root]: #指定容器运行的进程用户,默认为root用户,我们默认即可

Java runtime                   [/yinzhengjie/softwares/jdk1.8.0_201/jre]:

#JAVA的运行环境。如果它识别的有误,你可以指定你服务器的环境

Copy gerrit-3.1.3.war to review_site/bin/gerrit.war [Y/n]? y

#拷贝gerri安装包

Copy gerrit-3.1.3.war to review_site/bin/gerrit.war

*** SSH Daemon***
 

Listen on address              [*]: n   

#指定SSH后台服务的监听地址

Listen on port                 [29418]:

#指定SSH后台服务的端口号

Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done
 

*** HTTP Daemon***

Behind reverse proxy           [y/N]? y

#使用发向代理

Proxy uses SSL (https://)      [y/N]? n

#不适用SSL

Subdirectory on proxy server   [/]:

#指定代理服务器的子目录,默认为"/"路径,默认即可

Listen on address              [*]:

#只当gerrit服务的监听地址

Listen on port                 [8081]: 8888

#指定gerrit的服务端口

Canonical URL                  [[http://localhost/]:

#指定标准连接,咱们默认即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AgXDzd1d-1678182424984)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110113520808.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nhw43NoT-1678182424986)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110113545210.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Pk7yWDj-1678182424987)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110113602761.png)]

5.邮箱配置

进入到对应的目录下 /home/zmj/gerrit/review_site/etc

修改gerrit.config文件 在sendemail部分添加from配置

    [sendemail]     发送邮件
            smtpServer = smtp.mxhichina.com
            smtpServerPort = 25       端口号
            smtpUser = 邮箱地址        
            from=CodeReview<邮箱地址>    代码审查 邮箱地址
            
 [gerrit]
basePath = git
canonicalWebUrl = http://192.168.168.128/                  //nginx的代理端口 

.........

[httpd]
listenUrl = http://*:8080/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HKAhw2f0-1678182424988)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110115804892.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jrCs0Ujy-1678182424989)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110145430678.png)]

6.重启Gerrit

cd gerrit/review_site/
./bin/gerrit.sh restart

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nTiyINun-1678182424990)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110132740585.png)]

7.Apache反向代理配置

编辑/etc/apache2/sites-enabled/000-default.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-33ZnGl73-1678182424990)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110133931636.png)]

vim 000-default.conf 修改文件,修改文件后现在文件是链接文件,无法保存。

命令行sudo vim 000-default.conf 并输入密码即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZGegykYh-1678182424991)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110142115615.png)]

注意:The ProxyPass 8080 must be same with the ./review_site/etc/gerrit.config.
When access the http://192.168.168.128:80,Apache2 will lead you to 
http://192.168.168.128:8080.
ProxyPass 8080必须和./review_site/etc/gerrit.config里的端口配置一致。当登录http://192.168.168.128:80的时候,Apache2会帮助打开http://192.168.168.128:8080。
<VirtualHost 192.168.1.179:80>

        ProxyRequests Off
        ProxyVia Off
        ProxyPreserveHost On
<Proxy *> 
    Order deny,allow
    Allow from all  
</Proxy>
<Location /login/>
    AuthType Basic
    AuthName "Welcome to Gerrit Code Review Site!"
    Require valid-user
    AuthUserFile /home/zmj/gerrit/review_site/etc/passwords
</Location>
AllowEncodedSlashes On
ProxyPass / http://127.0.0.1:8080/
</VirtualHost>

8.重启Apache服务

service apache2 restart

9.添加Gerrit账户

touch /home/zmj/gerrit/review_site/etc/passwords     创建密码文件
要在Gerrit的配置文件下创建用户
cd /home/zmj/gerrit/review_site/etc
htpasswd -m passwords zmj     创建zmj用户 密码为1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pNLCJ43f-1678182424991)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110140818329.png)]

10.访问http://192.168.168.128:80

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0qr0gFQA-1678182424992)(C:\Users\zhangmj2\Desktop\VMware Workstation\图片\image-20230110151237692.png)]

安装php

sudo apt-get update更新
sudo apt-get install language-pack-en-base software-sudo properties-common -y			解决语言冲突和中文乱码
sudo locale-gen en_US.UTF-8			语言环境
sudo apt-get install vim -y         安装vim
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php            使用ppa安装php (需要回车)
sudo apt-get update			再次更新
sudo apt-get install php7.4 php7.4-fpm php7.4-cli php7.4-dev php7.4-redis php7.4-mysql php7.4-curl php7.4-xml php7.4-json php7.4-gd php7.4-mbstring php7.4-zip php7.4-bcmath -y   	安装php和相关组件
php -v查看php版本
sudo apt-get install nginx -y     下载nginx
nginx -v    显示版本
sudo apt-get install mysql-server -y  
nginx -v    显示版本

11.搭建gitweb

 sudo apt-get install gitweb

通过git config配置一下

git config --file /home/zmj/gerrit/review_site/etc/gerrit.config gitweb.cgi /var/www/git/gitweb.cgi 
git config --file /home/zmj/gerrit/review_site/etc/gerrit.config --unset gitweb.url

重启Gerrit

cd gerrit/review_site/
./bin/gerrit.sh restart
git config --global --unset /home/zmj/gerrit/review_site/etc/gerrit.config gitweb.cgi /var/www/git/gitweb.cgi 
git config --unset /home/zmj/gerrit/review_site/etc/gerrit.config --unset gitweb.url



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ctfshow【菜狗杯】wp

文章目录webweb签到web2 c0me_t0_s1gn我的眼里只有$抽老婆一言既出驷马难追TapTapTapWebshell化零为整无一幸免无一幸免_FIXED传说之下&#xff08;雾&#xff09;算力超群算力升级easyPytHon_P遍地飘零茶歇区小舔田&#xff1f;LSB探姬Is_Not_Obfuscateweb web签到 <?ph…

在社交媒体上行之有效的个人IP趋势

如果您认为无论是获得一份工作、建立一家企业还是推动个人职业发展&#xff0c;社交媒体都是帮助您实现目标的可靠工具&#xff0c;那么个人IP就是推动这一工具前进的燃料。个人IP反映了您是谁&#xff0c;您在所处领域的专业程度&#xff0c;以及您与他人的区别。社交媒体将有…

打破原来软件开发模式的无代码开发平台

前言传统的系统开发是需要大量的时间和成本的&#xff0c;如今无代码开发平台的出现就改变了这种状况。那么你知道什么是无代码开发平台?无代码开发对企业来说有什么特殊的优势么?什么是无代码平台无代码平台指的是&#xff1a;使用者无需懂代码或手写代码&#xff0c;只需通…

代码分享:gprMax钻孔地质雷达波场模拟

代码分享&#xff1a;gprMax钻孔地质雷达波场模拟 前言 gprMax模拟地面地质雷达被广泛使用&#xff0c;但是在钻孔内进行地质雷达的模拟较少。本博文尝试利用gprMax进行钻孔地质雷达的模拟&#xff0c;代码仅供大家借鉴。 文章目录代码分享&#xff1a;gprMax钻孔地质雷达波场…

【数据结构】链表练习题(1)

练习题1.移除链表元素(LeetCode203)2.链表的中间结点(LeetCode876)3.链表的倒数第k个结点(剑指offer)4.反转链表(LeetCode206)5.合并两个有序链表(LeetCode21)6.链表分割(牛客)7.链表的回文结构(牛客)1.移除链表元素(LeetCode203) 给你一个链表的头结点 head 和一个整数 val &…

第十四届蓝桥杯三月真题刷题训练——第 4 天

目录 题目 1 &#xff1a;九数算式_dfs回溯(全排列) 题目描述 运行限制 代码&#xff1a; 题目2&#xff1a;完全平方数 问题描述 输入格式 输出格式 样例输入 1 样例输出 1 样例输入 2 样例输出 2 评测用例规模与约定 运行限制 代码&#xff1a; 题目 1 &am…

数据结构刷题(十九):77组合、216组合总和III

1.组合题目链接过程图&#xff1a;先从集合中取一个数&#xff0c;再依次从剩余数中取k-1个数。思路&#xff1a;回溯算法。使用回溯三部曲进行解题&#xff1a;递归函数的返回值以及参数&#xff1a;n&#xff0c;k&#xff0c;startIndex(记录每次循环集合从哪里开始遍历的位…

场景式消费激发春日经济,这些电商品类迎来消费热潮

春日越临近&#xff0c;商机越浓郁。随着气温渐升&#xff0c;春日经济已经潜伏在大众身边。“春菜”、“春装”、“春游”、“春季养生”等春日场景式消费走热。 下面&#xff0c;鲸参谋为大家盘点几个与春日经济紧密相关的行业。 •春日仪式之春游踏青 ——户外装备全面开花…

查看 WiFi 密码的两种方法

查看 WiFi 密码的两种方法1. 概述2. 在控制面板中查看 WiFi 密码3. 使用 CMD 查看 WiFi 密码结束语1. 概述 突然忘记 WiFi 密码怎么办&#xff1f; 想连上某个使用过的 WiFi&#xff0c;但有不知道 WiFi 密码怎么办&#xff1f; 使用电脑如何查询 WiFi 密码&#xff1f; 以下是…

zabbix4.0 网络发现-自动添加主机-自动注册

zabbix的网络发现 网络发现的好处&#xff1a; 加快zabbix部署 简化管理 无需过多管理就能在快速变化的环境中使用zabbix zabbix网络发现给予以下信息 IP范围 可用的外部服务&#xff08;FTP&#xff0c;SSH&#xff0c;WEB&#xff0c;POP3&#xff0c;IMAP&#xff0c;TCP等&…

一篇深入解析BTF 实践指南

BPF 是 Linux 内核中基于寄存器的虚拟机&#xff0c;可安全、高效和事件驱动的方式执行加载至内核的字节码。与内核模块不同&#xff0c;BPF 程序经过验证以确保它们终止并且不包含任何可能锁定内核的循环。BPF 程序允许调用的内核函数也受到限制&#xff0c;以确保最大的安全性…

FPGA使用GTX实现SFP光纤收发SDI视频 全网首创略显高端 提供工程源码和技术支持

目录1、前言2、设计思路和框架3、vivado工程详解4、上板调试验证并演示5、福利&#xff1a;工程代码的获取1、前言 FPGA实现SDI视频编解码目前有两种方案&#xff1a; 一是使用专用编解码芯片&#xff0c;比如典型的接收器GS2971&#xff0c;发送器GS2972&#xff0c;优点是简…

如何让网络安全的防守技术更强?20年白帽子老江湖告诉你【蓝队】

网络安全的防守技术是网络安全工程师必备技能&#xff0c;只有攻防兼备的白帽子&#xff0c;才算是真正的网安精英。 网络安全的攻击技术在前面我已经讲过了&#xff0c;感兴趣的可以去看看&#xff1a; 90%的人都不算会网络安全&#xff0c;这才是真正的白帽子技术【红队】 . …

蓝桥杯--成绩分析

成绩分析 技巧 求最大值与最小值 if(a[i]>max) maxa[i]; if(a[i]<min) mina[i]; 这里的max为最小值0 这里的min为最大值100 这道题比较简单 题目大意 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 请…

【GO】K8s 管理系统项目33[前端部分–登录和登出]

K8s 管理系统项目[前端部分–登录和登出] 1. 登录登出流程 1.1 登录流程 登入流程总的分为5步: 账号密码验证token生成token验证验证成功进行跳转验证失败返回/login 1.2 登出流程 登出流程就相对简单,分为2步 删除Token跳转/login 2. 登录代码 src/views/login/Login.v…

vue双向绑定原理

Vue双向绑定的原理 vue的双向绑定原理&#xff1a;vue数据的双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。其核心就是通过obj.defineProperty()方法来实现数据的劫持&#xff0c;在数据变化时发布消息给订阅者&#xff0c;触发相应的监听回调。也就是说数据和视…

windows安装Stable Diffusion WebUI及问题解决记录

本文将详细介绍stable diffusion webui的下载、安装及问题解决。 StableDiffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像&#xff0c;尽管它也可以应用于其他任务&#xff0c;如内补绘制、外补绘制&#xff0c;以及在提示词​&#…

AUTOSAR知识点Com(五):CANIf模式PUD Channel

1、概述 每个L-PDU分配给一个专用的物理CAN通道&#xff0c;该通道连接CAN控制器和CAN网络。通过这种方式&#xff0c;所有属于物理通道的L-PDU都可以在处理逻辑上&#xff0c;单一的L-PDU通道组上进行控制。这些逻辑组表示ECU连接到底层CAN网络的所有I-PDU。图 展示了L-PDU信道…

category排序专辑

case1——对有限类型的字段按指定要求排序&#xff1a; #学历分布 xueli_tsdf.pivot_table(index学历,values教师id,aggfunccount,marginsTrue,margins_name总计) xueli_ts[占比]np.round(xueli_ts[教师id]/xueli_ts.loc[总计,教师id],2) xueli_ts.reset_index(inplaceTrue)xu…

Adding Conditional Control to Text-to-Image Diffusion Models

安全验证 - 知乎知乎&#xff0c;中文互联网高质量的问答社区和创作者聚集的原创内容平台&#xff0c;于 2011 年 1 月正式上线&#xff0c;以「让人们更好的分享知识、经验和见解&#xff0c;找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制…