gerrit是什么?

Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。

gerrit背景

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

软件历史

这个软件的名称,来自于荷兰设计师赫里特·里特费尔德(Gerrit Rietveld)。最早它是由Python写成,在第二版后,改成用Java与SQL。使用Google Web Toolkit来产生前端的JavaScript。

gerrit可以组成持续部署关键性的一环,和jenkins,gitlab的git服务组成,还可以与sonarqube代码质量报告聚合工具一起使用。

gitlab安装教程: https://www.jianshu.com/p/c98e71ee7958

sonarqube安装教程: https://www.jianshu.com/p/9080642d4179

sonarqube使用教程: https://www.jianshu.com/p/f9d31148ce59

在生产环境中使用Docker创建Gerrit


version: '3'
services:gerrit:image: gerritcodereview/gerritports:- "29418:29418"- "8010:8080"depends_on:- ldapvolumes:- /usr/local/docker/gerrit/etc:/var/gerrit/etc- /usr/local/docker/gerrit/git:/var/gerrit/git- /usr/local/docker/gerrit/db:/var/gerrit/db- /usr/local/docker/gerrit/index:/var/gerrit/index- /usr/local/docker/gerrit/cache:/var/gerrit/cacheenvironment:- CANONICAL_WEB_URL=http://localhost#entrypoint: /entrypoint.sh initldap:image: osixia/openldapports:- "389:389"- "636:636"environment:- LDAP_ADMIN_PASSWORD=secretvolumes:- /usr/local/docker/gerrit/ldap/var:/var/lib/ldap- /usr/local/docker/gerrit/ldap/etc:/etc/ldap/slapd.dldap-admin:image: osixia/phpldapadminports:- "6443:443"environment:- PHPLDAPADMIN_LDAP_HOSTS=ldap

/usr/local/docker/gerrit/etc/gerrit.config 创建配置文件


[gerrit]basePath = gitcanonicalWebUrl = http://localhost[index]type = LUCENE[auth]type = ldapgitBasicAuth = true[ldap]server = ldap://ldapusername=cn=admin,dc=example,dc=orgaccountBase = dc=example,dc=orgaccountPattern = (&(objectClass=person)(uid=${username}))accountFullName = displayNameaccountEmailAddress = mail[sendemail]smtpServer = localhost[sshd]listenAddress = *:29418[httpd]listenUrl = http://*:8080/[cache]directory = cache[container]user = root

/usr/local/docker/gerrit/etc/secure.config 创建配置文件

[ldap]password = secret

初始化环境

1.修改docker-compose.yml
把#entrypoint: /entrypoint.sh init注释放开!

2.执行命令: docker-compose up gerrit

后台启动

1.把#entrypoint: /entrypoint.sh init注释掉!

2.再输入命令: docker-compose up -d

配置Gerrit的管理员账号

  1. 访问:https:ip:6443

2.登录
账号:cn=admin,dc=example,dc=org
密码:secret

3.创建gerrit账号
1.点击Create a child entry

2.选择账号模板

3.填入账号信息
参数为:
Given Name: Gerrit
Last Name: Admin
Common Name: Gerrit Admin
User ID: gerritadmin
Email: gerritadmin@localdomain
Password: secret

4.提交到LDAP (commit the changes to LDAP)

登录 Gerrit

1.输入地址
我这边配置的地址是:http:ip:8010

2.登录

3.登录成功

到这了就成功了!

个人微信公众,经常更新一些实用的干货:

docker运行gerrit(代码审查工具)相关推荐

  1. docker搭建upsource代码审查工具,通过gitlab检出项目

    docker搭建upsource代码审查工具,通过gitlab检出项目 机器配置 docker搭建upsource代码审查工具,通过gitlab检出项目 拉取镜像 创建挂载目录 启动容器 配置账号密码 ...

  2. window docker mysql_windows使用docker运行mysql等工具(二)安装运行mysql

    今天接着上一篇的内容继续来学习安装运行mysql.建议先阅读第一篇:windows安装docker 一 查看mysql版本 如果想知道mysql镜像具体有哪几个版本,需要去docker hub查看. ...

  3. 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具

    Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...

  4. docker运行yyets_你应该知道的5个开源Docker工具...

    Docker 社区已经创建了许多开源工具,它们能帮我们处理各种用例.作者在本文中推荐了 5 款认为最有用的 Docker 工具,分别是 Watchtower(自动更新 Docker 容器).docke ...

  5. QIIME1.9.1-2使用Docker运行QIIME

    本教程环境为Ubuntu16.04 x64 最好有管理员权限,没权限找管理员帮忙.用Docker运行所有流程的成功率高,几乎是万能的,简单高效,不存在环境变量污染和版本冲突的问题,是复杂分析项目非常好 ...

  6. 代码审查工具 sonarqube 简介

    目录 1. 什么是SonarQube? SonarQube的功能 1.糟糕的复杂度分布 2.重复 3.缺乏单元测试 4.没有代码标准 5.没有足够的或者过多的注释 6.潜在的bug 7.糟糕的设计(原 ...

  7. sock 文件方式控制宿主机_浅析Docker运行安全

    语法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 二. Docker 运行安全相关参数 2.1 启用 AppArmor AppArmor 主要的作用是 ...

  8. docker运行jenkins挂掉_【图文】Jenkins教程集成SonarQube

    什么是SonarQube? 看看维基百科的说明: SonarQube与CI/CD架构图 SonarQube与CI/CD架构图 Docker运行SonarQube 简单了解之后,开始安装SonarQub ...

  9. 快速入门:使用 Docker 运行 SQL Server 容器映像

    Choose your command shell BashPowerShellCmd 适用对象:SQL Server(仅限 Linux)Azure SQL 数据库 Azure SQL 数据仓库 并行 ...

最新文章

  1. pip install models ModuleNotFoundError: No module named ‘base‘
  2. 如何安装Android SDK Emulator
  3. CEO不当了,CTO也不做了!我要回去写代码,这才是我所热爱的!
  4. 使用Formik轻松开发更高质量的React表单(二)使用指南
  5. 树分治树链剖分相关题目讨论
  6. JavaScript:this是什么?
  7. c++相对路径怎么判断_不可思议!C罗无球跑位分析
  8. 高级Javascript调试——console.table()
  9. YYKit之YYText
  10. 做营销运营工作很迷茫?看看资深运营的发展经历和职业规划建议
  11. C/C++宽字符与控制台程序
  12. linux给两台主机设置虚拟ip,如何把linux配置成ip路由器
  13. java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 (踩坑经历)
  14. flutter项目模板
  15. 08-认识margin
  16. jquery uploadify 用法详解
  17. 质量管理之质量门禁的建设
  18. 百度地图添加自定义点标记、文本标注、点标记
  19. [原创]虚拟机检测技术剖析
  20. python 打开文件夹所有文件_python遍历文件夹下所有文件

热门文章

  1. 在线作图丨数据降维方法⑥——消除趋势对应分析(Detrended correspondence analysis, DCA)
  2. MPB:亚热带生态所谭支良、焦金真等-​反刍动物瘤胃样品采集与保存
  3. 微生物分类学研究利器:模式微生物基因组数据库
  4. Microbiome:首个地球微生物“社会关系”网络在浙大绘制!
  5. 这篇文章说出了研究生和导师的相处真谛……
  6. Nature Microbiology:微生物与海洋全球变化
  7. pandas基于日期信息(time or date)生成季度信息(quarter)实战:pandas基于日期信息列生成季度信息列、dt.quarter生成季度信息、dt.to_period生成季度信息
  8. ModuleNotFoundError: No module named ‘cx_Oracle‘
  9. 机器学习中过拟合、欠拟合与方差、偏差的关系是什么?
  10. keras构建前馈神经网络(feedforward neural network)进行分类模型构建并加入L2正则化