centos7 gerrit + nginx 部署

Gerrit部署(Ubuntu+Gerrit+Nginx) Gerrit部署 1 Gerrit简介 Gerrit是一个基于web的代码评审工具,它基于Git版本控制系统,由Google内部编写用于代码评审管理。Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅。Gerrit提供了一个临时区域,将本地提交与远程仓库隔离开,开发人员将‎‎更改上传到Gerrit,在它们被审阅通过前并不会直接上传到远程仓库。 要了解Gerrit如何帮助强化开发人员的工作流程,请考虑如下一个典型的项目。该项目有一个中心源存储库作为项目内容的权威副本,例如Git版本控制系 阅读详情

 

一、部署前准备

1. 安装 openjdk, git

yum -y install java-1.8.0-openjdk.x86_64 git

 

ps: 如果与 jenkins 对接,git 的版本太低,会有些问题。接下来会写一篇如何在 centos7 上通过源码方式来安装 git.

 

2. 下载 gerrit

地址(需要翻墙):

https://gerrit-releases.storage.googleapis.com/gerrit-2.16.2.war

 

也可从以下百度网盘下载:

https://pan.baidu.com/s/1D1Pf6d0krQCHaIGrTuXBuw

提取码: y7cv

 

二、安装 gerrit

1. 创建 gerrit 用户

useradd gerrit

 

2. 安装 gerrit

cp gerrit-2.16.2.war /home/gerrit/
su - gerrit
java -jar gerrit-2.16.2.war init -d gerrit_site

除了"Authentication method          [openid/?]: http“ 这里输入 http ,其余全部输入 "Enter",如下示例:

[gerrit@localhost ~]$ java -jar gerrit-2.16.2.war init -d gerrit_site
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
[2018-12-27 19:58:33,458] [main] INFO  com.google.gerrit.server.config.GerritServerConfigProvider : No /home/gerrit/gerrit_site/etc/gerrit.config; assuming defaults

*** Gerrit Code Review 2.16.2
*** 

Create '/home/gerrit/gerrit_site' [Y/n]? 

*** Git Repositories
*** 

Location of Git repositories   [git]: 

*** SQL Database
*** 

Database server type           [h2]: 

*** NoteDb Database
*** 

Use NoteDb for change metadata?
  See documentation:
  https://gerrit-review.googlesource.com/Documentation/note-db.html
Enable                         [Y/n]? 

*** 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]? 

*** 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                         [gerrit]: 
Java runtime                   [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre]: 
Copy gerrit-2.16.2.war to gerrit_site/bin/gerrit.war [Y/n]? 
Copying gerrit-2.16.2.war to gerrit_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]: 
Canonical URL                  [http://localhost:8080/]: 

*** Cache
*** 


*** Plugins
*** 

Installing plugins.
Install plugin codemirror-editor version v2.16.2 [y/N]? 
Install plugin commit-message-length-validator version v2.16.2 [y/N]? 
Install plugin download-commands version v2.16.2 [y/N]? 
Install plugin hooks version v2.16.2 [y/N]? 
Install plugin replication version v2.16.2 [y/N]? 
Install plugin reviewnotes version v2.16.2 [y/N]? 
Install plugin singleusergroup version v2.16.2 [y/N]? 
Initializing plugins.
No plugins found with init steps.

Initialized /home/gerrit/gerrit_site
Reindexing projects:    100% (2/2) with: reindex --site-path gerrit_site --threads 1 --index projects
Reindexed 2 documents in projects index in 0.1s (15.7/s)
Executing /home/gerrit/gerrit_site/bin/gerrit.sh start
Starting Gerrit Code Review: WARNING: Could not adjust Gerrit's process for the kernel's out-of-memory killer.
         This may be caused by /home/gerrit/gerrit_site/bin/gerrit.sh not being run as root.
         Consider changing the OOM score adjustment manually for Gerrit's PID=3974 with e.g.:
         echo '-1000' | sudo tee /proc/3974/oom_score_adj
FAILED
error: cannot start Gerrit: exit status 1
Waiting for server on localhost:8080 ... OK
Opening http://localhost:8080/#/admin/projects/ ...FAILED
Open Gerrit with a JavaScript capable browser:
  http://localhost:8080/#/admin/projects/

会有 FAILED ,没有关系,默认时间是 90s,可能是等待时间不够造成的。

可以使用 curl 命令来检查是否成功,如下输出:

[root@localhost ~]# curl localhost:8080
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Gerrit Code Review</title>
    <script type="text/javascript">
      var href = window.location.href;
      var p = href.indexOf('#');
      var token;
      if (p >= 0) {
        token = href.substring(p);
        href = href.substring(0, p);
      } else {
        token = '';
      }
      window.location.replace(href + 'login/' + token);
    </script>
  </head>
  <body>
    <p>Redirecting to <a href="login/">Gerrit Code Review</a>.</p>
  </body>
</html>

 

三、安装 nginx

1. 安装 epel 包
yum install -y epel-release

2. 安装 nginx, httpd-tools
yum install -y nginx httpd-tools

3. 修改 nginx 启动用户
sed -i 's/^user nginx;/user root;/g' /etc/nginx/nginx.conf

4. 新增 gerrit 配置文件:
cat /etc/nginx/conf.d/gerrit.conf
server {
     listen *:81;
     server_name localhost;
     allow   all;
     deny    all;

     auth_basic "Welcomme to Gerrit Code Review Site!";
     auth_basic_user_file /home/gerrit/gerrit_site/etc/passwd;

     location / {
        proxy_pass  http://127.0.0.1:8080;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
     }
}

5. 使用 gerrit 用户,并设置密码为 gerrit
htpasswd -b -c /home/gerrit/gerrit_site/etc/passwd gerrit gerrit

6. 启动 nginx 服务
systemctl start nginx

 

接下来,可以通过浏览器访问本地 81 端口,进入 gerrit 了:

http://localhost:81

 

四、邮箱配置

1. gerrit.config 中修改 sendmail 的配置信息,参考如下
cat gerrit_site/etc/gerrit.config 
...
[sendemail]
	enable = true
	smtpServer = smtp.qq.com
	smtpUser = <your qq>@qq.com
	smtpPass = <passwd>
        from = <your qq num>@qq.com
...

2. secure.config 新增 sendemail, smtpPass 与 gerrit.config sendemail 的 smtpPass 要一致
cat gerrit_site/etc/secure.config 
[auth]
	registerEmailPrivateKey = 28Fg47VPJdTn7MTakbDrhQNQzvCMnrjo9HE=
[sendemail]
	smtpPass = <passwd>

 

五、gitweb

1. 安装 gitweb
yum install -y gitweb

2. gerrit 中配置 gitweb
cat gerrit_site/etc/gerrit.config 
...
[gitweb]
        cgi = /var/www/git/gitweb.cgi
        type = gitweb

3. 重启 gerrit
./gerrit_site/bin/gerrit.sh restart

 

(本篇完)

CentOS 7 部署 Eclipse Theia 云 IDE 实战:Docker Compose + nginx-proxy 生产级架构 云 IDE 是指通过浏览器访问、后端运行在服务器上的集成开发环境,其核心依赖容器化部署、反向代理与安全认证三大能力。Eclipse Theia 作为模块化开源云 IDE,基于 Language Server Protocol 实现多语言支持,具备插件隔离与资源可控等工程优势。在 CentOS 7 这类长期服役的生产环境中,需特别关注内核兼容性(3.10.0)、Docker 存储驱动(overlay2)、密码策略审计(8位+4类字符)及 HTTPS 终止等关键环节。本文聚焦于使用 Docker Compose 阅读详情

相关推荐

CentOS 7 部署 Eclipse Theia 云 IDE 实战指南

Eclipse Theia 是一款轻量级、可容器化的开源云 IDE,基于 VS Code 架构但专为 Web 端远程开发与多租户隔离场景优化。其核心原理是将完整开发环境封装为 Node.js 应用,通过 Docker 实现运行时隔离与插件热加载,天然规避宿主机依赖冲突。技术价值在于低侵入部署、细粒度权限控制及原生 CentOS 7 兼容性,显著优于 VS Code Server(glibc 版本限制)和 Gitpod(K8s 重依赖)。典型应用场景包括等保合规内网开发平台、外包团队安全接入、嵌入式项目远程协

weixin_30378623的博客 320

gerrit 代码审查

Gerrit是一种免费、开放源代码的代码审查软件、使用web界面,可以相互审阅彼此修改后的程序代码,决定是否能够进行提交代码、退回或者要求开发人员进行返工。同时它也可以做为一个版本控制系统来使用。   该课程主要讲解了以下内容:1.     Gerrit 的介绍以及安装配置 2.     Gerrit 的项目权限配置介绍 3.     Gerrit 的提交类型与并发代码审查的多个示例 4.     Gerrit 与 gitlab、Jenkins 的集成 5.     Gerrit 结合权限,gitlab,Jenkins 的一个完整分支模型示例 注意:学习该课程,需要具备一定的 git 知识,否则部分知识可能无法理解

CentOS 7 手动安装 Docker Compose 二进制部署指南

Docker Compose 是基于 YAML 的容器编排工具,其核心原理是将多容器应用的定义、启动与依赖管理声明化。在 Linux 系统中,它通过调用 Docker CLI 与守护进程通信,实现服务拓扑的自动化构建与生命周期控制。技术价值在于提升环境一致性、降低运维复杂度,并支撑微服务本地开发与轻量级生产部署。典型应用场景包括 Nginx+PHP-FPM 环境快速搭建、Jellyfin 媒体服务器一键部署、Gerrit 代码审查平台容器化运行等。尤其在 CentOS 7 这类长期支持但官方源缺失新版 co

weixin_34236869的博客 365

Gerrit+NGINX+HTTP 实现代码评审平台搭建

Gerrit 是一个基于 Git 的代码管理工具,它提供了一种称为“代码评审”的功能,可以让多个开发人员在合并代码之前对其进行审查和讨论,以确保代码的质量和符合团队的最佳实践。

weixin_43480575的博客 1133

CentOS 7 安装 Docker Compose v2 正确实践指南

Docker Compose 是用于定义和运行多容器应用的编排工具,其核心原理是通过 YAML 文件声明服务依赖、网络、卷与生命周期策略,并由 CLI 解析执行。技术价值在于实现配置即代码、环境一致性与自动化运维,广泛应用于微服务部署、CI/CD 流水线及本地开发环境搭建。典型应用场景包括 Jenkins、Gerrit、Jellyfin 等复杂应用的一键交付。然而在 CentOS 7 这类长期支持型系统上,因仓库版本陈旧、Python 生态弃用及内核兼容性限制,直接使用 yum 或 pip 安装极易导致功能

weixin_33671935的博客 341

退火朗之万动力学采样

退火朗之万动力学采样(Simulated Annealing Langevin Dynamics Sampling)结合了退火技术和朗之万动力学,是一种用于分子模拟和统计物理中的计算方法。这种方法可以帮助系统从局部最小值中逃逸,以找到全局最小值或进行有效的配置空间探索。

weixin_39699362的博客 1949

Gerrit安装及使用Nginx反向代理

Gerrit安装及使用Nginx反向代理 简介 Gerrit做为Google用来管理Android代码版本的工具,是一种免费、开放源代码的代码审查软件,使用网页界面。本文主要介绍它的安装步骤。 一、准备工作 操作系统:Linux 这里用的是Ubuntu16.04 Java环境:Java 1.6以上版本都可以 本机装的是64-Bit Server VM Java8的服务器版本 Gi...

带着键盘走江湖。。。 5425

【论文泛读|附源码】如何进行动力学重构? 神经网络自动编码器结合SINDy发现数据背后蕴含的方程

这一篇文章叫做 **数据驱动**的**坐标发现与方程发现算法**。想回答的问题很简单,就是根据数据写方程。 想想牛顿的处境,如何根据各种不同物体下落的数据,写出万有引力的数学公式的。这篇文章就是来做这件事的。当然,这篇论文并没有从牛顿视角,完全去思考牛顿所想。而是利用现有的**深度学习技术** 和 **动力学重构的方法** 。提出了一种框架,基于现有的计算机技术,去发现物质运动背后的物理规律。 这里直接给出这篇方法的核心思路图,我们后面会逐个讲解。

qq5q13638的博客 2457

gerrit+nginx安装配置(非常详细)

注意:要使用代理服务器,gerrit需更改一下认证方式:修改gerrit安装目录下的/etc/gerrit.config配置文件,将[auth] type 改成 http,同时设置代理地址,上一节我已经设置好了。安装命令java -jar gerrit-3.8.0.war init -d ./ --batch --dev --install-all-plugins。输入密码,确认密码,就可以创立admin1用户,在etc里多了gerrit.passwd文件,记住这个文件名路径,下一步操作需要输入这个路径。

weixin_43944012的博客 1014

YOLOv8改进002:添加小目标检测头(小目标检测大量涨点)

YOLOv8 目标检测算法改进之添加小目标检测头,亲测在小目标检测的数据集上有大幅度的涨点效果(mAP直接涨了 0.04 左右)。

m0_46496775的博客 9878

RAGFlow 系列教程 第三课:后端服务入口与请求生命周期

本文深入解析RAGFlow v0.25.0后端核心机制,重点介绍了Quart框架选型原因和服务启动流程。RAGFlow选择Quart作为Web框架,主要基于其异步能力对LLM调用的支持、Flask生态兼容性以及长响应超时处理优势。文章详细拆解了服务启动的8个关键步骤,从日志初始化到HTTP服务启动,并分析了配置加载、数据库初始化等核心环节。通过源码分析揭示了RAGFlow如何实现动态API注册、双重认证体系等关键技术点,为深入理解该系统的请求处理生命周期提供了基础。

weixin_43674738的博客 189

Linux部署 Gerrit 教程 ——2023.07

centos7.8gerrit版本:latestJDK:Gerrit是用Java语言开发,运行时需要Java环境,本文Gerrit版本是3.12,需要jdk 1.8+版本Nginx:作为统一网关使用Git: 代码托管平台。

我是小bā吖的博客 1403

深入详细分析Skyworks 78113 PAMiD射频方案图

是一种高集成度的射频前端模块,它结合了功率放大器(PA)、双工器(Duplexer)、滤波器和开关等多个组件,主要用于4G LTE移动通信系统中的射频前端链路。是一款典型的PAMiD模块,通过将多个频段的发射(TX)和接收(RX)路径集成在一个模块中,大大减少了传统射频设计中的分立器件,同时提高了信号链路的效率和可靠性。模块化设计的优势PCB空间优化:高集成度设计大幅减小了射频电路的尺寸,适用于紧凑型移动设备。减少设计复杂度:模块化设计减少了器件间的匹配与调试工作,加速产品开发周期。性能稳定性。

weixin_43199439的博客 1481

gerrit搭建

CentOS 7.2 安装Gerrit 2.16.8 1.环境 本文使用VMWare虚拟机进行实验。 IP:192.168.60.6 CentOS 7 mysql5.7数据库 http认证 nginx作为web服务器,提供反向代理 gitweb作为Repository Browser 3.安装 3.1 安装软件 yum -y...

Cailand的专栏 4890

YOLOv8工业缺陷检测实战:攻克光照不均难题,精度从70%到92%的全流程优化(附缺陷数据集)

YOLOv8在工业缺陷检测中突破光照不均难题,核心是“硬件控光+数据造景+模型聚焦+训练攻坚硬件控光:从源头减少光照变异,降低算法难度;数据造景:用CLAHE、合成样本让模型“见过足够多的光照情况”;模型聚焦:用ECA注意力和Focal-EIoU损失,让模型盯住缺陷而非光照;训练攻坚:分阶段+难例挖掘,强迫模型学习薄弱点。这套方案已在汽车轴承、手机外壳、PCB板3类产线落地,平均精度提升20%+,漏检率控制在0.08%以内,完全满足工业级要求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1195

0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models

去噪扩散概率模型。本文是笔者在学习扩散模型时的一些笔记与心得,在公式推导过程中能够保证自己是一步一步去推导并且理解了的。概述是我认为比较重要的部分能够帮助理解公式的推导,具体的公式推导在每一小节中进行。1、扩散过程:如上图所示,扩散过程为从右到左X0→XTX0​→XT​的过程,表示对图片逐渐加噪,且Xt1X_{t+1}Xt1​是在XtX_{t}Xt​加躁得到的,其只受XtX_{t}Xt​的影响,因此扩散过程是一个马尔科夫过程。X0X_0。

zik的博客 2400

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

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

ll535299的博客 2442

评估篇| 大模型评测综述

1、基于人类的评测。与针对基础大语言模型的自动化评测不同,微调大语言模型的评测更加注重模型在实际应用场景中的表现,如与人类交互的自然度、对齐度等。2、基于模型的评测。例如,AlpacaEval 排行榜 基于由大语言模型合成的人类需求指令作为评测任务,然后收集待评估大模型的回应,并采用 GPT-4 等大语言模型作为评测员,将待评估大语言模型的输出与参考输出进行成对比较。1、大语言模型对评估设置极为敏感,包括问题的表述方式、提示样本的选择以及答案的解析策略等,这些细微的差别都可能导致评估结果的显著变化。

youbingchen的博客 637

CentOS7详细搭建Gerrit服务

文章目录0.环境准备1.安装Git2.下载Gerrit3.安装Java3.1 旧JDK卸载3.2 安装指定JDK4.安装MySQL4.1 卸载Mariadb4.2 安装MySQL4.3 创建数据库5.初始化Gerrit6.使用HTTP认证配置6.1 nginx服务认证6.2 httpd服务认证 服务 版本 Git 1.8.3.1 Gerrit 3.5.1 Java 11.0.13 MySQL 5.7.27 0.环境准备 # 关闭防火墙 [roo

TT-Learning 8203

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Gitlab+Gerrit+Ldap+nginx+mysql 之Gerrit搭建与配置(一)

公司之前一直用gitlab来存放项目代码 ,目前因为业务需要(代码bug太多)需要引入gerrit来进行code review。 最初用的是centos 7.4,但是安装完成后,GerritResource中没有ALL_Project.git和All_Users.git生成,日志中一直在报错,反复装了几次后发现,在centos7上的兼容性不是太完美,所以采购了centos6.8 服务器进行安装,...

Zhaowenlong 1276

CentOS+Docker+Mysql+Gerrit+Nginx 配置

### 软件环境: - CentOS 7.0 - Docker 18.06.0-ce &gt; 以下为采用docker镜像 - Mysql 5.7 - Gerrit 2.15.3 - Nginx 1.15.2-alpine &gt; 假定当前服务器ip地址为(以上3个软件都在同一个服务器) &gt; 192.168.0.1 &gt; ==注:在使用docker镜像时,强烈建议固定容器...

ranyi1的专栏 3442

CentOS配置Gerrit Gitlab Jenkins--Gerrit与Nginx(3)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34396103的博客 242

Docker Compose系统意图固化实战:从Ubuntu到CentOS7.9全栈部署

Docker Compose 是一种轻量级声明式容器编排工具,其核心原理是将应用的服务依赖、启动顺序、存储挂载与网络拓扑等运行契约,通过 docker-compose.yml 文件进行可版本化、可执行的声明。它不依赖复杂控制平面,直接复用 Docker 引擎,在物理服务器、边缘设备及桌面环境实现高效‘系统意图固化’。相比 Kubernetes,Compose 具备学习成本低、资源开销小、Git 协作友好等工程优势,已成为嵌入式、NAS、AI 推理(如 xinfenence)、媒体中心(如 Jellyfin)

weixin_34277853的博客 374
上一篇: Centos 7 GCC 7.3编译器安装
下一篇: sync、fsync 和 fdatasync 函数
only火车头
博客等级 码龄17年 23粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值