Centos6.x下安装Gerrit

gerrit 搭建部署 window server gerrit 2.12.2+jdk1.8+mysql5.1.73+Apecha 环境搭建 阅读详情

上一篇文章介绍了《Ubuntu下搭建本地Gerrit代码审核服务器》
这篇文章介绍下怎么在Centos上搭建Gerrit,两者的主要区别在于一些配置项。

  • 需要准备的软件
  • 安装git
  • 安装jdk
  • 安装apach2
  • 安装gerrit
  • 配置
  • 验证
  • 创建第一个项目
  • 插件扩展

需要准备的软件

  • git
  • jdk
  • apache2
  • gerrit

安装git

yum install git

安装jdk

1.下载
http://www.oracle.com/technetwork/java/javase/downloads/index.html
我下载的是Java SE Development Kit 8u151这个包,最好不要下1.6及以下,最新的gerrit包对jdk的版本有要求,可能会出现兼容性问题。

2.安装
在/usr/ 目录下新建一个java文件夹,将下载好的jdk移动到/usr/java下。
解压:tar -zxvf jdk-**.tar.gz
解压完成后删除jdk的安装包

3.配置环境变量
(1)在终端中输入命令

sudo gedit /etc/profile

(2)在文件末尾加入

JAVA_HOME=/usr/java/jdk1.8.0_152
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH 
export JAVA_HOME CLASSPATH PATH

(3)保存退出后,执行下面命令,让profile文件生效

source /etc/profile

(4)验证是否安装成功

java -version

安装apache2

apache2服务器是用来做反向代理用的。由于使用我们后面在安装Gerrit时选择的认证方式为http,需要用apache2来做一个反向代理。
1. 安装apache2

yum install -y httpd

2.验证是否安装成功

service httpd start

如果出现下面的提示,说明以已经安装启动成功。

Starting httpd:                                            [  OK  ]

安装gerrit

如果要去gerrit官网下安装包,是需要fq的,我下载了一个最新的包放在github上,有需要的同学自行下载:
(这一步和Ubuntu环境一致,所以直接copy过来了)

https://github.com/miguoer/software/blob/master/gerrit/gerrit-2.14.6.war

下面开始安装。你可以创建一个单独的账户来安装gerrit,也可以直接在当前用户环境下安装。我选择的是就在当前用户环境下安装。

选择自己专门放安装软件的目录,将下载好的war包复制进去,然后执行

java -jar gerrit-2.14.6.war init -d review_site

review_site是安装后文件目录名。
执行完这行命令,会出现安装提示:

huanglin@huanglin:~/Software$ java -jar gerrit-2.14.6.war init -d test
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
[2017-12-06 16:34:16,022] [main] INFO  com.google.gerrit.server.config.GerritServerConfigProvider : No /home/huanglin/Software/test/etc/gerrit.config; assuming defaults

*** Gerrit Code Review 2.14.6
*** 

Create '/home/huanglin/Software/test' [Y/n]? y

*** Git Repositories
*** 

Location of Git repositories   [git]:  

*** SQL Database
*** 

Database server type           [h2]: 

*** Index
*** 

Type                           [lucene/?]: 

*** User Authentication
*** 

Authentication method          [openid/?]: http(选择http的认证方式,避免使用默认openid,需要fq的)
Get username from custom HTTP header [y/N]? 
SSO logout URL                 : 
Enable signed push support     [y/N]? 

*** Review Labels
*** 

Install Verified label         [y/N]? y(这里写y,方便后续使用Jenkins做持续集成)

*** Email Delivery
*** 

SMTP server hostname           [localhost]: 
SMTP server port               [(default)]: 
SMTP encryption                [none/?]: 
SMTP username                  : 

*** Container Process
*** 

Run as                         [huanglin]: 
Java runtime                   [/usr/java/jdk1.8.0_152/jre]: 
Copy gerrit-2.14.6.war to test/bin/gerrit.war [Y/n]?  
Copying gerrit-2.14.6.war to test/bin/gerrit.war

*** SSH Daemon
*** 

Listen on address              [*]: 
Listen on port                 [29418]: 
Generating SSH host key ... rsa... dsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done

*** HTTP Daemon
*** 

Behind reverse proxy           [y/N]? y
Proxy uses SSL (https://)      [y/N]? 
Subdirectory on proxy server   [/]: 
Listen on address              [*]: 
Listen on port                 [8081]: 
Canonical URL                  [http://huanglin/]: 

*** Cache
*** 


*** Plugins
*** 
***注意这些插件最好都行选择安装,以防后续需要用到的时候没有,还要手动安装。
Installing plugins.
Install plugin commit-message-length-validator version v2.14.6 [y/N]? y
Installed commit-message-length-validator v2.14.6
Install plugin download-commands version v2.14.6 [y/N]? y
Installed download-commands v2.14.6
Install plugin hooks version v2.14.6 [y/N]?
...后面的插件也一直填 y ,按enter执行下一步

配置

1.修改review_site/etc/ 下的gerrit.config文件 。把canonicalWebUrl配置为本地服务器(这里就是我的电脑)IP。listenUrl为代理服务器的IP,此处端口配置为了8888。
[gerrit]
    basePath = git
    serverId = 6ae95b16-d269-480e-9319-0be348717a1b
    canonicalWebUrl = http://localhost:8888/
[database]
    type = h2
    database = /home/huanglin/Software/review_site/db/ReviewDB
[index]
    type = LUCENE
[auth]
    type = HTTP
[receive]
    enableSignedPush = true
[sendemail]
    smtpServer = smtp.163.com
    smtpServerPort = 465
    smtpEncryption = ssl
    smtpUser = *******@163.com
        smtpPass = 你的邮箱密码
        sslVerify = false
    from=CodeReview<*******@163.com>
[container]
    user = huanglin
    javaHome = /usr/java/jdk1.8.0_152/jre
[sshd]
    listenAddress = *:29418
[httpd]
    listenUrl = http://*:8888/
[cache]
    directory = cache
2.添加gerrit用户

(1)在任意目录(我的是/home/software/gerrit/review_site/)下创建一个保存密码的文件

$ cd /home/software/gerrit/review_site/
$ touch pwd

(2)添加用户名密码

$ htpasswd -b pwd admin ******

第一个登录gerrit的用户将自动作为管理员账户。

3.配置Apache2反向代理

(1)进入apache2目录

cd /etc/httpd/conf/

(2)修改httpd.conf文件,添加了对8090端口的监听。这个端口是后续在浏览器中访问gerrit时输入的端口。前面的8888端口是实际访问的端口。

Listen 80
Listen 8091

(3)修改/etc/httpd/conf.d/目录下的gerrit.conf文件

$ vi /etc/httpd/conf.d/gerrit.conf

然后把下面的代码添加到gerrit.conf中,当用户访问localhost:8090时,会被代理到http://localhost:8888/。这个8888端口必须和前面gerrit.conf中配置的代理服务器的端口一致。

AuthUserFile 为上面创建的用于保存gerrit用户密码的文件。

 ServerName localhost
<VirtualHost *:8090>

  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On
  AllowEncodedSlashes On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  <Location /login/>
      AuthType Basic
      AuthName "Gerrit Code Review"
      AuthBasicProvider file
      AuthUserFile /home/software/gerrit/review_site/pwd
      Require valid-user
  </Location>

  ProxyPass / http://localhost:8888/
</VirtualHost>

验证

完成以上步骤之后,基本上就大功告成了。下面我们来验证下是否成功。

1. 重启Gerrit服务和Apache2服务
$ /home/software/gerrit/review_site/bin/gerrit.sh restart
$ service httpd start
2.打开浏览器,输入http://localhost:8090/。这时如果出现提示输入用户名密码的窗口,就说明搭建成功了。

创建第一个项目

配置gerrit

  • 添加ssh的公钥
    本地打开终端,输入命令
ssh-keygen

公钥默认保存的地址为home目录下的 .ssh.id_rsa
打开~./.ssh/id_rsa.pub,把里面的内容复制到gerrit/settings/SSH Public Key里面。

  • 进入Projects,点击Create New Project,务必勾选
    Create initial empty commit
    否则拉代码时会有问题。
  • 项目创建好之后,进入项目页,点击刚创建的项目,就有clone地址。通过这个地址就可以拉代码到本地了。

  • 提交代码:当本地代码有修改后,请执行一下提交流程。

    //
    $ git add .
    //本地commit
    $ git commit -m "commit msg"
    //合并服务器代码,可以选择合并的分支,这里是合并master分支
    $ git rebase origin/master  
    //push 代码到服务器
    $ git push origin HEAD:refs/for/master

注意:
如果是第一次push代码,可能会报错

remote: Processing changes: refs: 1, done    
remote: ERROR: [4a91168] missing Change-Id in commit message footer
remote: 
remote: Hint: To automatically insert Change-Id, install the hook:
remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 huanglin@192.168.0.221:hooks/commit-msg ${gitdir}/hooks/
remote: And then amend the commit:
remote:   git commit --amend
remote: 
To ssh://huanglin@192.168.0.221:29418/testdddddd
 ! [remote rejected] HEAD -> refs/for/master ([4a91168] missing Change-Id in commit message footer)

这个时候只需要把报错信息中如下内容复制到终端,按回车键。再执行 git commit –amend。然后重新push就大功告成了。

gitdir=$(git rev-parse --git-dir); scp -p -P 29418 huanglin@192.168.0.221:hooks/commit-msg ${gitdir}/hooks/

插件扩展

默认安装的gerrit可能功能并不是很完整,我在安装完默认所有的插件之后,发现gerrit操作页面上没有删除项目的选项,一番搜索之后原来是需要安装一个delete-project的插件。所以如果大家需要扩展什么功能,要下插件的话,这里也分享一个插件下载的网站
https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.13/
1.下载插件

2.将下载好的插件放在安装目录下的plugins文件夹下面

3.重启gerrit服务,从浏览器重新进去,点击plugins/installed,就能看到刚安装的插件了。

参考

Ubuntu20.04搭建gerrit code review 权限粒度:Gerrit通过权限组(如refs/*)控制不同分支或路径的操作范围,例如限制Push仅作用于refs/heads/dev分支‌。找到Reference: refs/heads/*,将其下面的push配置设置为Deny。如果不想使用默认的/etc/apache2/sites-enabled/000-default.conf文件。示例配置(/etc/apache2/sites-available/gerrit.conf)文件路径:/var/gerrit/etc/gerrit.config。 阅读详情

相关推荐

【Git】Ubuntu18.04搭建gerrit+gitweb+apache2服务器

Gerrit代码审核服务器的核心是在apache2代理服务器上给托管的Git仓库提供一系列的权限控制,以及通过Web前端页面来做代码审核和权限管理,通常适用于大型软件项目,并且要求软件配置、开发、测试、审核等角色分工明确的软件开发团队。

u010440719的博客 2944

Gerrit搭建

一种免费、的代码审查软件,使用网页界面。利用网页,同一个团队的软件,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用作为底层版本控制系统。它分支自Rietveld,作者为公司的Shawn Pearce,原先是为了管理Android计划而产生。

allen_xu_2012_new的博客 3425

Gerrit安装与做冷备份实战

一、描述 1、关于gerrit Gerrit,是利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。Gerrit实际上底层是一个Git服务器,它为在其服务器上托管的Git仓库提供一系列权限控制,以及一个用来做Code Review是Web前台页面。当然,其主要功能就是用来做Code Review。架构如图(图来自网络):另外gerrit是j...

weixin_34384557的博客 2538

gerrit配置安装部署过程

介绍了gerrit配置过程,环境准备,nginx配置 安装过程 群组添加 项目创建 权限分配 代码上库 git仓移植等

小生的博客 6615

centos搭建gerrit

条件:centos系统、gerrit2.12.war 搭建步骤: 1.新建mysql数据库gerrit。 语句如下: create Database gerrit ;//建库 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON gerrit.* TO gerrit@localhost IDENTIFIED BY 'Gerrit@1...

MyOwnWorlds的博客 776

gerrit上的commit msg中关联jira单号(含gerrit的安装)

  这个问题折腾了很久,前期后后大概一个月吧,终于搞定了,查了很多资料,有的不完整,有的完全就不能用,有的没说完整,所以一定要记录下来,我的心血啊。   由于公司在用的gerrit的是正式环境中的,大家都在使用,并且这又是个没接触过的新的配置,所以,担心在正式服务器上调试影响大家工作,所以只能在其他机器上搭建一套完整的系统来调试,主要是搭建gerrit平台,网上很多都是apache和mysql之...

weixin_30757793的博客 1639

CentOS 7.x安装部署Gerrit完整教程

本文介绍基于CentOS 7.x 搭建Gerrit服务

ll535299的博客 2442

Gerrit + Centos 7 + mysql + apache 环境搭建踩的一些坑

主要参考这篇https://blog.csdn.net/dragon922/article/details/55052259(这篇mysql的安装和数据库创建缺失,其他内容大致正确) 数据库安装和配置参考这篇https://www.cnblogs.com/smallcoderhujin/p/3937641.html 第一次安装,服务器上有apache和ngnix ,部分端口被占用和修改...

weixin_42245903的博客 695

centos7安装gerrit

本次安装gerrit需要用到的工具: Java 11 (至少1.6以上) git 1.8.3 Nginx 1.10.2 Apache 2.2.15 一、准备工作 ①因为Java JDK区分32位和64位系统,所以在安装之前必须先要判断以下我们的Centos系统为多少位系统,命令如下: [root@centos7 ~]# uname -a Linux centos7 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64

apple***的博客 1775

第二章 零差云控关节模组内部构造

对零差云控的eRob70I进行了拆解

SFY__优快云的博客 5964

快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例

开始使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例并运行一些 Transact-SQL (T-SQL) 命令。本文介绍如何连接和查询实例SQL Server。有关 Azure SQL,请参阅连接。若要使用,请参阅连接和查询。若要详细了解如何SQL Server Management Studio,请参阅其他。......

m0_72938729的博客 5729

在docker中安装gerrit

官网:https://hub.docker.com/r/gerritcodereview/gerrit 1.docker安装略,启动docker 2.下载gerrit镜像:docker pull gerritcodereview/gerrit 启动gerrit:docker run -ti -p 8080:8080 -p 29418:29418 gerritcodereview/gerrit

apple***的博客 5821

新四化浪潮下,中年整车诊断工程师的黄金突围路

摘要 本文探讨了汽车电子诊断工程师在当前行业变革中的独特优势与发展路径。作者作为从业者指出,整车诊断岗位在汽车"新四化"浪潮中呈现"逆生长"特性:技术壁垒高、经验复利强、市场需求持续增长。中年工程师凭借丰富的案例积累和实战经验成为行业稀缺人才,薪资水平显著高于同龄段其他技术岗位。文章分析了四条职业发展路径(技术专家、技术管理、细分深耕、横向拓展),并警示了三大职业风险(执行层局限、技术停滞、成果沉淀不足)。最后提出具体建议,强调掌握UDS高阶、DoIP以太网诊断等核心技术的重要性,为中年技术人提供了清晰的职

Soly_kun的博客 309

Gerrit环境搭建--centos8环境搭建

vmware搭建centos8

WELLSTONE_CHENG 1398

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 708

Spring Boot Swagger未授权访问漏洞:原理、风险与修复方案详解

在微服务架构中,API文档管理是开发与运维的重要环节。Swagger作为RESTful API文档生成与调试的标准化工具,通过OpenAPI规范自动生成交互式接口文档,极大提升了开发效率。然而,其默认配置往往缺乏访问控制,导致文档端点直接暴露,形成未授权访问漏洞。从技术原理看,该漏洞源于Spring Boot等框架集成Swagger时,相关端点未纳入安全框架的拦截范围,攻击者可通过扫描常见路径获取完整的接口定义与数据结构。这不仅会造成敏感信息泄露,更可能成为越权操作、数据篡改等深度攻击的入口点。在工程实践中

weixin_42524171的博客 496

centos7上安装gerrit+nginx

新方法: # install rpm source: the path took through INSTALL file sudo rpm -i https://gerritforge.com/gerritforge-repo-1-2.noarch.rpm #install ger...

chiloutao9982的博客 315

【前沿】多模态数据时间同步与对齐技术方案

多模态系统时间同步面临硬件差异、传输延迟和时钟漂移等核心挑战。解决方案包括硬件级的GPS授时(μs级)、FPGA同步电路,以及软件级的动态时间规整(DTW)、卡尔曼滤波和Transformer跨模态对齐算法。工程实践中采用滑动窗口缓冲、分布式一致性协议等方法,已在工业质检(误差≤0.1mm)、自动驾驶(延迟<30ms)等场景取得显著效果。未来需解决高动态场景鲁棒性、边缘设备能耗优化等问题,随着TSN和5G URLLC技术的发展,微秒级同步将成为可能。

从技术实践立足,从项目管理方法论延伸思考 1393

Centos 7搭建Gerrit代码审计系统

1、环境部署 yum -y install java-1.8.0-openjdk-src.x86_64 //安装JDK yum -y install git //安装Git,gerrit是基于git的版本管理系统 yum -y install httpd //安装Apache,用于创建用户认证文件 yum -y install ...

广州维特网络 636

手把手教你完成基于matlab的LSTM时间序列分析

时间序列是按时间顺序组织的数字序列,是数据分析中重要的处理对象之一。时间序列的主要特点是数据获取方式一般具有客观性,能反映某种现象的变化趋势或统计指标,进而预测未来走向,这在本质上也是一个回归预测的问题。长短时记忆网络(Long Short-Term Memory,LSTM)是一种循环神经网络,适合处理有更长时间跨度的内部记忆,被广泛应用于时间序列分析,能够保持数据的内在持续性,反映数据的细粒度走势,具有良好的预测效果。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 896

SAP使用XCO框架创建RAP所有对象

通过XCO框架自动生成SAP ABAP开发对象。

DeveloperMrMeng的博客 548

gerrit 配置

1.jdk 1.7以上  ./alternatives --config java  ./alternatives --config javac 2.gerrit 可以在csdn上下载 http://download.csdn.net/download/chenjh213/9416433 3.HTTP登录方式。 http://blog.csdn.net/benkaoya/a

xiayu98020214的专栏 3045

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Gerrit+(nginx/Apache) 的git CodeReview平台

git、gitweb、gerrit安装包、apache服务器   测试采用的OS是CentOS 6.7 X64系统 Git版本 1.7.1 Gerrit版本为:gerrit-2.10.6.war Web服务器为标准的apache http版本   除了gerrit外,其他都可以直接通过yum 直接安装。 Gerrit需要进入官网:https://www.ge

Jason's BLOG 2138

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

centos nginx gerrit

gerrit官方地址:https://www.gerritcodereview.com/ 需先安装依赖 jdk mysql 并手动创建数据库 下载好war包后,初始化操作 java -jar gerrit-2.8.war init -d /etc/gerrit/ 必须使用http代理才可访问 server { ...

acr7720的博客 257

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CentOS7搭建gerrit 代码审查服务

步骤一:创建专用账户和工作目录 adduser gerrit;passwd gerrit;创建gerrit专用工作目录:mkdir /home/gerrit 步骤二:配置Java环境 1) 从官网下载JDK:http://download.oracle.com/otn-pub/java/jdk-nb/8u161-8.2/jdk-8u161-nb-8_2-linux-x64.sh 2) 添加

会飞的鸵鸟 2457

CentOS 7.9下Gerrit+LDAP认证实战:从安装到邮箱配置全流程避坑指南

本文详细介绍了在CentOS 7.9服务器上部署企业级代码审查平台Gerrit的全流程,重点解析了与LDAP认证服务的深度集成配置,并提供了QQ、163等主流邮箱服务的SMTP配置指南与排错方法,帮助运维人员规避常见部署陷阱。

zz67890的博客 694
上一篇: Ubuntu下搭建本地Gerrit代码审核服务器
下一篇: Centos6.x下安装samba文件共享服务
Huang-Lin
博客等级 码龄10年 20粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值