Gerrit 代码评审工具
概要: Gerrit Code Review是一个流行的代码评审工具,也是Git代码仓库。本文介绍使用Docker的方式部署Gerrit。
创建时间: 2023.08.02 23:02:51
更新时间: 2023.08.03 00:09:20
准备工作
文件结构
Text Only |
---|
| $ tree
.
├── docker-compose.yaml
├── gerrit/
│ └── etc/
│ ├── gerrit.config
│ └── secure.config
└── ldap/
3 directories, 3 files
|
docker-compose.yaml
YAML |
---|
| # https://hub.docker.com/r/gerritcodereview/gerrit
version: '3'
services:
gerrit:
container_name: gerrit_server
image: gerritcodereview/gerrit
user: root
ports:
- "29418:29418"
- "80:8080"
depends_on:
- ldap
volumes:
- ./gerrit/etc:/var/gerrit/etc
- ./gerrit/git:/var/gerrit/git
- ./gerrit/db:/var/gerrit/db
- ./gerrit/index:/var/gerrit/index
- ./gerrit/cache:/var/gerrit/cache
environment:
- CANONICAL_WEB_URL=http://192.168.2.111:80
# command: init # 首次执行必须取消此行注释
ldap:
container_name: gerrit_openldap
image: osixia/openldap
restart: always
ports:
- "389:389"
- "636:636"
environment:
- LDAP_ADMIN_PASSWORD=ladp_passwd # 与secure.config一致
volumes:
- ./ldap/var:/var/lib/ldap
- ./ldap/etc:/etc/ldap/slapd.d
ldap-admin:
container_name: gerrit_phpldapadmin
image: osixia/phpldapadmin
restart: always
ports:
- "443:443"
environment:
- PHPLDAPADMIN_LDAP_HOSTS=ldap
|
提示
- 需要写入gerrit的配置文件
gerrit.config
- 需要写入gerrit的登录配置文件
secure.config
- 首次启动需要取消注释上面的
# command: init
这一行
gerrit.config
Properties |
---|
| [gerrit]
basePath = git
[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
|
secure.config
Properties |
---|
| [ldap]
password = ladp_passwd
|
首次启动(初始化)
将docker-compose.yaml
的# command: init
这一行取消注释,然后在项目根目录执行
接着,gerrit服务会自动进行初始化,等到初始化完毕,docker容器会自动停止
Bash |
---|
| gerrit_server exited with code 0
|
正常启动
将docker-compose.yaml
的command: init
这一行注释掉,然后在项目根目录执行
此时所有服务都应该正常启动,gerrit的服务会有日志输出
Text Only |
---|
| Gerrit Code Review 3.x.x ready
|
配置LDAP帐户
登录LDAP管理网页
在成功启动服务后,由于gerrit的授权由LDAP提供,所以首先需要登录到ldap-admin
网页去新建一个帐户用于登录gerrit。打开https://192.168.2.111:443网页(注意必须是https
):

其中
Login DN
填写:cn=admin,dc=example,dc=org
Password
填写:ladp_passwd
点击Authenticate即可登录LDAP管理页面。
新建组织:gerrit
点击Create a child entry

选择Generic: Organisational Unit

填入组织名gerrit
,并创建对象

新建用户组:gerrit_admin
选择我们刚刚建好的ou=gerrit
,然后点击Create a child entry

选择Generic: Posix Group

填入用户组名gerrit_admin
,并创建对象

新建用户:lzwang
选择我们刚刚建好的cn=gerrit_admin
,然后点击Create a child entry

选择Generic: User Account

填入如图所示的信息后,创建此对象

创建完成
至此,我们的第一个LDAP帐户创建完毕(吐槽:真费劲...)。

登录gerrit
打开网页http://192.168.2.111:80,使用上面LDAP创建的帐户密码即可登录

参考