docker运行gerrit(代码审查工具)
阅读原文时间:2023年07月08日阅读:2

gerrit是什么?

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

gerrit背景

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

软件历史

这个软件的名称,来自于荷兰设计师赫里特·里特费尔德(Gerrit Rietveld)。最早它是由Python写成,在第二版后,改成用JavaSQL。使用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/gerrit
    ports:
      - "29418:29418"
      - "8010:8080"
    depends_on:
      - ldap
    volumes:
      - /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/cache
    environment:
      - CANONICAL_WEB_URL=http://localhost
    #entrypoint: /entrypoint.sh init
  ldap:
    image: osixia/openldap
    ports:
      - "389:389"
      - "636:636"
    environment:
      - LDAP_ADMIN_PASSWORD=secret
    volumes:
      - /usr/local/docker/gerrit/ldap/var:/var/lib/ldap
      - /usr/local/docker/gerrit/ldap/etc:/etc/ldap/slapd.d
  ldap-admin:
    image: osixia/phpldapadmin
    ports:
      - "6443:443"
    environment:
      - PHPLDAPADMIN_LDAP_HOSTS=ldap

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

[gerrit]
  basePath = git
  canonicalWebUrl = http://localhost

[index]
  type = LUCENE

[auth]
  type = ldap
  gitBasicAuth = true

[ldap]
  server = ldap://ldap
  username=cn=admin,dc=example,dc=org
  accountBase = dc=example,dc=org
  accountPattern = (&(objectClass=person)(uid=${username}))
  accountFullName = displayName
  accountEmailAddress = 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.登录成功

到这了就成功了!