一、 下载 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

