• 群晖搭建 docker OpenGrok 浏览 Android 代码


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

    1. sudo docker ps # 查询正在运行容器的ID
    2. sudo docker exec -it  SM855OpenGrok   /bin/bash # 进入容器
    3. ## 或
    4. sudo docker exec -it 8646901913e9 /bin/bash # 进入容器

    输入生成 index data 命令.

    注意: Android 代码量很大,需要占用大量 CPU 资源,且耗时十几个小时生成源码的 index data。

    生成 index data, 确保 NAS 的资源。

    1. # 后台运行
    2. 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

  • 相关阅读:
    Linux实战记录
    特斯拉允许行车过程中玩游戏,车主:谢谢“好意”,已投诉
    [Spring] SpringMVC 简介(三)
    机器学习——SVM(支持向量机)
    永无止境——Google传
    JAVA麦克风实时录音调用听写并存储音频到本地
    Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】
    深度估计:SGBM算法应用
    卷S人的166页精品Java面试手册,17大java面试系列专题让你全方位暴击大厂Java面试官!
    如何使用 K8s 实现跨集群管理,这篇文章告诉你了!赶紧收藏
  • 原文地址:https://blog.csdn.net/qq_38907791/article/details/127618026