一、 下载 OpenGrok 镜像
1. 登录 NAS
在桌面上打开套件中心,找到并打开 Docker
2. 修改 Docker 国内镜像,防止镜像下载失败。
切换到 163 镜像 https://hub-mirror.c.163.com
3. 在注册表中搜索并下载 OpenGrok 镜像 。下载好 OpenGrok 后就可以安装了。
二、 安装 OpenGrok 容器
1.在 NAS 上创建目录 data etc src ,OpenGrok 容器映射目录。
2.在 Docker 映像中选择 OpenGrok 并安装 。
3. 设置容器的名字,并修改本地端口号。 端口号只要不重复就行。
4. 设置 OpenGrok 容器映射本地目录。
容器装载路径 | 映射的的路径 | |
/opengrok/data | /gcadmin/gcdocker/OpenGrokSM855/data | 储存 index data |
/opengrok/etc | /gcadmin/gcdocker/OpenGrokSM855/etc | 储存 configuration.xml |
/opengrok/src | /gcadmin/gcdocker/OpenGrokSM855/src | 储存源码 |
5. 点击完成,创建 OpenGrok 容器。
三、 生成源码的 index data
1. 把代码拷贝到 OpenGrok 容器映射的 src 目录。
2. ssh登录 NAS
参考登录 ssh 登录 NAS
sudo -i #获取 root 权限
3. 查询 docker 容器, 进入 OPenGrok 容器, 输入生成 data index 命令
sudo docker ps # 查询正在运行容器的ID
sudo docker exec -it SM855OpenGrok /bin/bash # 进入容器
## 或
sudo docker exec -it 8646901913e9 /bin/bash # 进入容器
输入生成 index data 命令.
注意: Android 代码量很大,需要占用大量 CPU 资源,且耗时十几个小时生成源码的 index data。
生成 index data, 确保 NAS 的资源。
# 后台运行
nohup java -Xmx2g -jar "/opengrok/lib/opengrok.jar" -c ctags -s "/opengrok/src" -d "/opengrok/data" -P -S -W "/opengrok/etc/configuration.xml" -i *.zip -i *.tmp -i *.db -i *.jar -i d:.svn -i d:.git -T 2 &
OpenGrok 参数: 查看帮助文档 java -Xmx4096m -Xms2048m -jar "C:\opengrok\opengrok-1.7.32\lib\opengrok.jar" -P 表示为rojects ,source root 目录下的每个一级子目录生成一个工程 -G 表示为所有存储库的所有条目分配提交标记。 -H 表示Enable history -v 表示打印操作的进度信息 -s 表示指定 source root -S 表示搜索并添加 “external” source repositories -d 表示指定 data root -W 表示指定将配置写到该文件 -c 表示指定 ctag 如: -c /usr/local/bin/ctags ; -c "C:\opengrok\ctag\ctags.exe" -i (IGNORE_PATTERNS) -i f:foo.txt -i *.bar -i d:target -i d:.tox" -T, --threads number -T 8 |
4. 等待 index data 生成完成
双线程 java 和 ctags ,且 CPU 占用率高
5. index data 完成后,重启 OpenGrok 容器。用浏览器访问 IP:8088(本地端口号), 即可访问 OpenGrok