美文网首页
Docker方式安装OpenGrok阅读大型源码项目

Docker方式安装OpenGrok阅读大型源码项目

作者: 4c6ed2800025 | 来源:发表于2019-11-07 21:46 被阅读0次

    阅读大型源码项目除传统的Souce Insight、Scitools Understand等付费PC端工具,基于Web的{OpenGrokElixir Cross Reference也是相当惊艳,方便躺在床上用ipad阅读源代码。作为开源工具,不仅免费而且支持用户自己搭建。如下为{OpenGrok的界面:

    另外,二者都提供许多常见的大型项目(https://github.com/oracle/opengrok/wiki/Installations
    以及https://elixir.bootlin.com/),足够使用并且免除动手搭建的麻烦。但毕竟是国外网站,偶尔访问速度上不去,故自己动手搭建一套还是非常有用的。OpenGrok的源码方式安装还是蛮麻烦的,所以使用官方的Docker镜像并且自己写了个小脚本方便进行管理。

    1. Debian/Ubuntu系统搭建{OpenGrok

    博主使用的是Debian系统,所以包管理器为apt,如果你使用其它系统或者想要改变端口或者源码目录,简单修改脚本即可。
    (1). 安装 Docker / Opengrok

    ./opengrok.sh install
    

    该命令做了如下工作: 删除已存在的Docker、启用https、加入docker的官方gpg密钥、校验密钥、添加稳定源、安装Docker社区版、安装opengrok/docker image、创建opengrok目录。

    sudo apt remove docker docker-engine docker.io containerd runc
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    sudo apt-key fingerprint 0EBFCD88
    sudo add-apt-repository \
        "deb [arch=amd64] https://download.docker.com/linux/debian \
        $(lsb_release -cs) \
        stable"
    sudo apt update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    sudo docker pull opengrok/docker
    sudo mkdir -p $GROKPATH/etc
    sudo mkdir -p $GROKPATH/data
    sudo mkdir -p $GROKPATH/src
    

    (2). 运行opengrok

    ./opengrok.sh run
    

    该命令执行以下工作:停止正在的运行的opengrok/docker进程、删除之前生成的配置和数据(可选)、后台运行opengrok/docker映像。

    sudo docker stop $CONTAINER_NAME
    sudo docker rm $CONTAINER_NAME
    
    sudo rm -rf $GROKPATH/etc/*
    sudo rm -rf $GROKPATH/data/*
    
    sudo docker run -d  \
         --name $CONTAINER_NAME \
         -p $PORT:8080/tcp \
         -e REINDEX=$REINDEX \
         -v $GROKPATH/src/:/opengrok/src/ \
         -v $GROKPATH/etc/:/opengrok/etc/ \
         -v $GROKPATH/data/:/opengrok/data/ \
         opengrok/docker:latest
    
    sudo docker run -d  \
         --name "opengrok" \
         -p 8888:8080/tcp \
         -e REINDEX="0" \
         -v ~/opengrok/src/:/opengrok/src/ \
         -v ~/opengrok/etc/:/opengrok/etc/ \
         -v ~/opengrok/data/:/opengrok/data/ \
         opengrok/docker:latest
    

    (3). 如果添加了其他项目,运行如下命令重新生成索引

    ./opengrok.sh reindex
    

    docker exec <container> /scripts/index.sh
    

    2. 剧透一下,Windows 也可以搭建哦~ , 适合一些只能在本机看的私有项目

    (1) 下载并安装Docker For Windows;
    (2) 启动 Docker Desktop 守护进程;
    (3) 在合适的位置创建opengrok文件夹,比如:d:/docker/opengrok/,并创建三个子文件夹etcdatasrc
    (4) 将源代码解压到opengrok/src文件夹;
    (5) 运行如下命令运行opengrok映像

    docker run -d --name "opengrok" -p 8888:8080/tcp -e REINDEX="0" -v d:/docker/opengrok/src/:/opengrok/src/ -v d:/docker/opengrok/etc/:/opengrok/etc/ -v d:/docker/opengrok/data/:/opengrok/data/  opengrok/docker:latest 
    

    (6) 若后续添加源代码则运行如下命令进行重新索引

    docker exec opengrok /scripts/index.sh
    

    :Hyper-V会与VirtualBox冲突
    解决方法:
    (a). 关闭Hyper-V,管理员终端运行如下命令;

    bcdedit /set hypervisorlaunchtype off
    

    (b). 若还是要使用Docker可以尝试使用旧版的Docker ToolBox
    (c). 尝试在WSL或者虚拟机里面的Linux安装Docker/OpenGrok。

    参考

    1. https://github.com/OpenGrok/docker
    2. Docker-OpenGrok的安装及使用

    相关文章

      网友评论

          本文标题:Docker方式安装OpenGrok阅读大型源码项目

          本文链接:https://www.haomeiwen.com/subject/jpdbbctx.html