当前位置: 首页 > news >正文

Opengrok代码在线查看平台

OpenGrok 是一个基于 Web 的源代码搜索引擎和交叉引用工具,它可以用来浏览和搜索代码库。虽然 OpenGrok 提供了代码搜索、查看文件和历史等功能,但它本身不是一个完整的在线集成开发环境(IDE)。然而,OpenGrok 可以作为一个强大的代码浏览工具,辅助开发者在不打开传统意义上的 IDE 时进行代码阅读和分析。

OpenGrok开源路径:https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok

docker搭建方式:https://github.com/OpenGrok/docker?tab=readme-ov-file

为了能快速搭建出来,我使用了docker的搭建方式。

1. 环境准备

centos 7.9

docker

1.1 docker 安装

docker安装方式有很多种,我用的是如下命令:

curl https://releases.rancher.com/install-docker/20.10.sh | sh
service docker start

2. 通过docker搭建opengrok

拉取最新opengrok镜像:

docker pull opengrok/docker:latest

2.1 创建本地目录

mkdir -p /opengrok/src

启动docker

docker run -d --name public_opengrok -v /opengrok/src:/opengrok/src -p 8080:8080 opengrok/docker:latest

将docker容器中的目录拷贝到本地:

cd /opengrok
docker cp public_opengrok:/opengrok/data ./
docker cp public_opengrok:/opengrok/doc ./
docker cp public_opengrok:/opengrok/etc ./
docker cp public_opengrok:/opengrok/lib ./
docker cp public_opengrok:/opengrok/share ./
docker cp public_opengrok:/opengrok/tools ./# 还有一个scripts目录,从https://github.com/OpenGrok/docker?tab=readme-ov-file 这个仓库里拷贝,主要用于手动index

2.2 启动opengrok

将源码放到到/opengrok/src目录下。

使用如下命令启动opengrok:

cd /opengrok
docker rm -f public_opengrok
docker run \-d \--name public_opengrok \-p 8080:8080/tcp \-e REINDEX="10" \-e NOMIRROR="yes" \-v $(pwd)/src/:/opengrok/src/ \-v $(pwd)/etc/:/opengrok/etc/ \-v $(pwd)/data/:/opengrok/data/ \-v $(pwd)/scripts/:/opengrok/scripts/ \opengrok/docker:latest

这样服务就算启动好了,设置NOMIRROR参数是因为opengrok启动时会默认拉取代码,如果没有配置网络以及公私钥,在容器中进行git 代码的同步会失败,这个参数加上后就不会有代码同步的操作。

访问:http://ip:8080 就可以访问你搭建的opengrok平台啦。

2.3 手动index

docker exec public_opengrok /scripts/index.sh

http://www.lryc.cn/news/365603.html

相关文章:

  • 济南适宜地提取
  • Windows 安装虚拟机(VMware+Ubuntu18.04)
  • 图像算法---自动对焦AF
  • sqli-labs 靶场 less-5、6 第五关和第六关:判断注入点、使用错误函数注入爆库名、updatexml()函数
  • WebSocket详解与封装工具类
  • Linux学习, 进程和线程
  • SVM模型实现城镇居民月平均消费数据分类
  • [ZJCTF 2019]NiZhuanSiWei、[HUBUCTF 2022 新生赛]checkin、[SWPUCTF 2021 新生赛]pop
  • c++“二纯” 纯虚函数和纯虚析构
  • MATLAB基础应用精讲-【数模应用】二元Logit分析(最终篇)(附python、MATLAB和R语言代码实现)
  • centos7安装mysql(完整)
  • C++ STL std::vector的实现机制【面试】
  • 激活函数对比
  • pycharm 上一次编辑位置不见了
  • FFmpeg播放器的相关概念【1】
  • =与==的优先级
  • 在Linux上的Java项目导出PDF乱码问题
  • java:使用shardingSphere访问mysql的分库分表数据
  • 红酒:如何选择适合的红酒储存容器
  • 【C++】 使用CRT 库检测内存泄漏
  • python手动搭建transformer,并实现自回归推理
  • AI数据分析:用deepseek进行贡献度分析(帕累托法则)
  • 生成式人工智能的风险与治理——以ChatGPT为例
  • 十足正式在山东开疆拓土!首批店7月初开业,地区便利店现全新面貌!
  • Unity2D游戏开发-玩家控制
  • 如何在 Windows 11 上免费恢复永久删除的文件
  • Spring boot 集成mybatis-plus
  • 数据仓库之缓慢变化维
  • 跑mask2former(自用)
  • Linux日志服务rsyslog深度解析(上)