Ubuntu16.04搭建OpenGrok代码搜索工具

一、工具准备
apache-tomcat-9.0.64.tar.gz

下载地址:https://tomcat.apache.org/download-90.cgi

将其存放至/opt目录下

opengrok-1.3.16.tar.gz

下载地址:https://github.com/oracle/opengrok/releases/tag/1.3.16

将其存放至/opt目录下

universal-ctags

下载地址:git clone https://github.com/universal-ctags/ctags.git

二、安装依赖
1.安装openjdk8
运行环境需要大于等于jdk8的版本。

sudo apt-get install openjdk-8-jdk

2.安装universal-ctags
exuberant-ctags已经不再维护,对opengrok不友好。
从github上下载universal-ctags进行编译安装。

# 移除exuberant-ctags
sudo apt-get remove --purge exuberant-ctags
# 编译安装universal-ctags
tar -zxvf ctags.tar.gz
cd ctags/
./autogen.sh
./configure
make
sudo make install

三、安装Tomcat
解压并重命名

# 切换超级用户
sudo su
cd /opt
tar -zxf apache-tomcat-9.0.64.tar.gz
rm apache-tomcat-9.0.64.tar.gz
mv apache-tomcat-9.0.64/ tomcat

启动服务器

cd /opt/tomcat/bin/
./startup.sh
# 同网络下浏览器输入主机IP,若成功打开网页则服务器安装成功
# http://localhost:8080/

关闭服务器

cd /opt/tomcat/bin/
./shutdown.sh

四、安装OpenGrok
切换超级用户
解压安装

# 解压并重命名
cd /opt
tar -zxvf opengrok-1.3.16.tar.gz
rm opengrok-1.3.16.tar.gz
mv opengrok-1.3.16/ opengrok

五、Tomcat与OpenGrok关联及配置
查看webapps目录

ls -la /opt/tomcat/webapps

可以看到目录下并没有source目录。

文件复制

将opengrok的lib目录下的source.war文件,复制到tomcat的webapp目录下

cp /opt/opengrok/lib/source.war /opt/tomcat/webapps/

重启tomcat服务器

此时系统会自动在webapp目录下生成一个source目录。

cd /opt/tomcat/bin/
./startup.sh
./shutdown.sh

再次查看webapps目录

ls -la /opt/tomcat/webapps

可以发现新生成一个source目录。

删除source.war文件

rm -rf /opt/tomcat/webapps/source.war

建立相应的目录

# 该目录直接关联到源代码
mkdir -p /opt/opengrok/source
# 该目录存放源代码索引文件
mkdir -p /opt/opengrok/data
# 该目录存放后期代码同步的必须文件
mkdir -p /opt/opengrok/etc

配置环境变量

vim /etc/profile
# 添加如下变量
export OPENGROK_TOMCAT_BASE=/opt/tomcat
export CATALINA_HOME=/opt/tomcat
export OPENGROK_APP_SERVER=Tomcat
export OPENGROK_INSTANCE_BASE=/opt/opengrok

更新环境变量

source /etc/profile

建立源码仓库,并放入相关代

# 此目录根据实际情况建立
mkdir -p /mnt/work/SA6536A

通过软链接关联相关仓库

ln -s /mnt/work/SA6536A/ /opt/opengrok/source/

查看关联结果

ls -la /opt/opengrok/source/

在这里插入图片描述

生成索引文件和configuration.xml文件

上一步虽然让opengrok与源代码目录关联起来,但是opengrok不可能直接跳转到源代码目录去查找目标代码,还缺少源代码索引文件。并且索引文件还可以大大缩减了代码检索时间。下一步就是创建源代码索引文件,创建命令如下(注意在root用户下执行):

cd /opt/opengrok/
java -jar /opt/opengrok/lib/opengrok.jar -P -S -v -s /opt/opengrok/source -d /opt/opengrok/data -i d:.git -i d:.repo -i d:out -W /opt/opengrok/etc/configuration.xml

关联configuration.xml文件

将/var/opengrok/etc/configuration.xml路径替换为上一步新生成的/opt/opengrok/etc/configuration.xml

vim /opt/tomcat/webapps/source/WEB-INF/web.xml

在这里插入图片描述

至此,修改完成,重新启动tomcat。

cd /opt/tomcat/bin/
./startup.sh

启动tomcat服务器后,浏览器内输入http://localhost:8080/source便可使用opengrok搜索代码。

六、注意事项
1.如果本地安装过jenkins,8080端口可能会被jenkins占用,localhost:8080会跳转到jenkins登录界面,这时可以修改tomcat占用的端口

vim /opt/tomcat/conf/server.xml

在这里插入图片描述

将port修改为其他未被占用的端口,注意有多个类似的文本,不要修改错

猜你喜欢

转载自blog.csdn.net/qq_27577263/article/details/128279263