OpenGrok 是一个基于 Web 的源代码搜索引擎和交叉引用工具,它可以用来浏览和搜索代码库。虽然 OpenGrok 提供了代码搜索、查看文件和历史等功能,但它本身不是一个完整的在线集成开发环境(IDE)。然而,OpenGrok 可以作为一个强大的代码浏览工具,辅助开发者在不打开传统意义上的 IDE 时进行代码阅读和分析。
OpenGrok开源路径:https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok
docker搭建方式:https://github.com/OpenGrok/docker?tab=readme-ov-file
为了能快速搭建出来,我使用了docker的搭建方式。
1. 环境准备
centos 7.9
docker
1.1 docker 安装
docker安装方式有很多种,我用的是如下命令:
curl https://releases.rancher.com/install-docker/20.10.sh | sh
service docker start
2. 通过docker搭建opengrok
拉取最新opengrok镜像:
docker pull opengrok/docker:latest
2.1 创建本地目录
mkdir -p /opengrok/src
启动docker
docker run -d --name public_opengrok -v /opengrok/src:/opengrok/src -p 8080:8080 opengrok/docker:latest
将docker容器中的目录拷贝到本地:
cd /opengrok
docker cp public_opengrok:/opengrok/data ./
docker cp public_opengrok:/opengrok/doc ./
docker cp public_opengrok:/opengrok/etc ./
docker cp public_opengrok:/opengrok/lib ./
docker cp public_opengrok:/opengrok/share ./
docker cp public_opengrok:/opengrok/tools ./# 还有一个scripts目录,从https://github.com/OpenGrok/docker?tab=readme-ov-file 这个仓库里拷贝,主要用于手动index
2.2 启动opengrok
将源码放到到/opengrok/src目录下。
使用如下命令启动opengrok:
cd /opengrok
docker rm -f public_opengrok
docker run \-d \--name public_opengrok \-p 8080:8080/tcp \-e REINDEX="10" \-e NOMIRROR="yes" \-v $(pwd)/src/:/opengrok/src/ \-v $(pwd)/etc/:/opengrok/etc/ \-v $(pwd)/data/:/opengrok/data/ \-v $(pwd)/scripts/:/opengrok/scripts/ \opengrok/docker:latest
这样服务就算启动好了,设置NOMIRROR参数是因为opengrok启动时会默认拉取代码,如果没有配置网络以及公私钥,在容器中进行git 代码的同步会失败,这个参数加上后就不会有代码同步的操作。
访问:http://ip:8080 就可以访问你搭建的opengrok平台啦。
2.3 手动index
docker exec public_opengrok /scripts/index.sh