opengrok部署

opengrok版本:1.13.1
tomcat版本:10.1.18
uctags版本:6.1.0
linux版本:ubuntu 20.04.6

 
 

准备

配置java环境

opengrok和tomcat是一个基于java的应用,需要安装jre和jdk。opengrok 1.13.1要求java版本大于11。

apt install openjdk-11-jdk openjdk-11-jre

下载opengrok

https://github.com/OpenGrok/OpenGrok/releases

如果访问github官网慢或者加载不出来,参考https://greasyfork.org自行解决。

下载tomcat

https://tomcat.apache.org/

tomcat官网提供了已经编译好的可执行程序和源码,建议直接下载编译好的。编译好的分类中又包含core Full documentation Deployer Embedded,直接从core分类中下载对应系统坂本即可。

下载uctags

https://github.com/universal-ctags

ctgas github官网提供了2种仓库:universal-ctagsctags-nightly-build,其中universal-ctags是ctags源码,ctags-nightly-build是ctags以编译好的。为了部署方便,建议下载ctags-nightly-build。

 
 

部署

构建opengrok目录

mkdir /opengrok/{src,data,dist,etc,log}

解压opengrok到dist目录

tar -C /opengrok/dist --strip-components=1 -xzf opengrok-1.13.1.tar.gz

配置opengrok log

拷贝log配置文件

cp /opengrok/dist/doc/logging.properties /opengrok/etc

修改log配置

java.util.logging.FileHandler.pattern = /opengrok/log/opengrok%g.%u.log

配置web application

拷贝opengrok war文件到tomcat目录下

cp /opengrok/dist/lib/source.war /apache-tomcat-10.1.18/webapps/opengrok.war

启动tomcat

cd /apache-tomcat-10.1.18/bin
./startup.sh

当启动tomcat时,tomcat会自动检测war文件,然后解压war文件,并运行解压后war文件中的web文件。客户端可以通过http://localhost:8080/opengrok访问。

修改web文件
tomcat会从web文件中解析CONFIGURATION参数的值,该参数的值是opengrok的configuration.xml文件路径。默认情况下是/opengrok/etc/configuration.xml,需要根据实际情况修改。

    <display-name>OpenGrok</display-name>
    <description>A wicked fast source browser</description>
    <context-param>
        <description>Full path to the configuration file where OpenGrok can read its configuration</description>
        <param-name>CONFIGURATION</param-name>
        <param-value>/opengrok/etc/configuration.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.opengrok.web.WebappListener</listener-class>
    </listener>

配置indexer

添加代码到src目录中
添加代码有很多方式,可以直接解压源码压缩包,也可以使用git拉取,本案例中使用git方式。

git clone https://github.com/OpenGrok/OpenGrok

创建索引

java \
    -Djava.util.logging.config.file=/opengrok/etc/logging.properties \
    -jar /opengrok/dist/lib/opengrok.jar \
    -c /uctags-2024.01.24-linux-x86_64/bin/ctags \
    -s /opengrok/src -d /opengrok/data -H -P -S -G \
    -W /opengrok/etc/configuration.xml -U http://localhost:8080/opengrok

/uctags-2024.01.24-linux-x86_64/bin/ctags是ctags路径,http://localhost:8080/opengrok是tomcat应用服务地址。创建索引的过程时间可能比较久,和添加代码的量有关。

为了加快创建索引,可以做进一步修改,关闭识别git等选项。

java \
    -Djava.util.logging.config.file=/opengrok/etc/logging.properties \
    -jar /opengrok/dist/lib/opengrok.jar \
    -c /opengrok/uctags-2024.01.24-linux-x86_64/bin/ctags \
    -s /opengrok/src -d /opengrok/data -P -S \
    -W /opengrok/etc/configuration.xml -U http://localhost:8080/opengrok \
    --ignoreHistoryCacheFailures \
    --disableRepository git \
    --historyBased off \
    --progress

如果想要再添加源码或者删除源码时,只需要再次执行上面创建索引的命令即可,它会自动从/opengrok/etc/configuration.xml中添加或者删除相关源码信息。

成功部署后,再次访问http://localhost:8080/opengrok便可以显示出opengrok界面。

 
 

参考资料

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值