本地配置Gerrit服务,仅作为测试用途。
Docker本地启动Gerrit服务
拉取镜像
docker pull gerritcodereview/gerrit查看已下载的镜像
docker image lsoutput:
gerritcodereview/gerrit 3.12.1-ubuntu24 abcd1234efgh 2 weeks ago 1.3GB
查看容器网络
docker network ls使用容器网络
docker run -it --rm --network gerritlocal_ci <Image> bashnetwork: 容器网络名
指定CPU架构运行
docker run --platform=linux/amd64 -it --rm <image> bash
--platform: 平台架构
删除docker image
docker rmi <IMAGE_ID>最基本的运行指令
docker run -it --rm <Image> bash-it: 交互模式 + 终端--rm: 容器退出后自动删除
Docker 启动Gerrit服务
docker run -ti -p 8080:8080 -p 29418:29418 gerritcodereview/gerrit启动后可以打开gerrit服务 http://localhost:8080/
- 查看正在运行的Docker Container
docker psoutput:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c192897221c gerritcodereview/gerrit "/entrypoint.sh" 2 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp, 0.0.0.0:29418->29418/tcp, [::]:29418->29418/tcp bold_khayyam
docker compose 配置文件启动服务
docker-compose.yml
services:
gerrit:
image: gerritcodereview/gerrit:3.12.1-ubuntu24
container_name: gerrit
ports:
- "8080:8080"
- "29418:29418"
volumes:
- ./gerrit/etc:/var/gerrit/etc
- ./gerrit/git:/var/gerrit/git
- ./gerrit/index:/var/gerrit/index
- ./gerrit/cache:/var/gerrit/cache
- ./gerrit/db:/var/gerrit/db在docker-compose.yml所在路径下执行
docker compose up -d-d 表示后台运行。
同样启动后可以打开gerrit服务。 http://localhost:8080/
同时,目录下多了gerrit文件夹,这个目录会挂载到容器里。 这样缓存和配置就能持久化了。
具体映射:
/var/gerrit/etc:配置(gerrit.config、secure.config、replication.config 等)
/var/gerrit/git:Git 仓库
/var/gerrit/index:索引
/var/gerrit/cache:缓存
/var/gerrit/db:内置 H2 数据库(如果不用外部 DB)
- 关闭容器
docker compose down进入容器
docker exec -it <ContainerID或者ContainerName> bashp.s.
可以用 docker ps 查看运行的Docker Container,第一列是Container ID
, 最后一列是Container Name
修改Gerrit配置
- 修改认证方式为DEVELOPMENT_BECOME_ANY_ACCOUNT
gerrit/etc/gerrit.config
[auth]
type = DEVELOPMENT_BECOME_ANY_ACCOUNT选项:
- HTTP/反向代理认证
- LDAP/Active Directory
- OAuth(Google/GitHub/GitLab 等)
- OpenID
- DEVELOPMENT_BECOME_ANY_ACCOUNT 测试用途
然后重新启动容器,读取配置。
docker compose down
docker compose up -d