ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

百目 JArgus:基于 AST 与字节码分析的开源内网代码质量评审平台

百目 JArgus:基于 AST 与字节码分析的开源内网代码质量评审平台 在企业级研发流程中代码质量评审常常面临困境接入外部 SaaS 服务有数据泄漏风险而自建 SonarQube 等平台又需依赖外部数据库、消息队列等重型组件在信创与完全离线的内网环境中部署极其繁琐。百目 JArgus是一款即开即用的开源 Java 代码质量评审平台。它的核心理念是极简交付与完全离线用一个 JAR 或单容器把「扫描 → 评分 → 门禁 → 报告 → CI 阻断 → 邮件推送」的完整质量闭环直接塞进你的内网环境中。一、核心架构与工程优势1. 单 JAR / 单容器交付零外部依赖JArgus 的工程打包非常极客。整个 JAR 包仅约 86MB内置了 17 种数据库驱动与中文字体仅需 JRE 17 即可运行。无外部基建首次启动自动初始化data / work / logs目录内嵌 H2 数据库建表无需额外安装 MySQL/PostgreSQL 或配置连接。Docker 友好容器镜像同样单容器交付内置 Noto CJK / 文泉驿中文字体采用非 root 运行支持 HEALTHCHECK 与优雅停机。2. 完全离线全面适配信创与内网全功能离线可用。AI 语义评审为可选增强不联网也能完成从扫描到报告的全流程。信创支持支持达梦、人大金仓、openGauss、瀚高、海量、崖山等信创数据库驱动包内置共支持 18 类数据库。3. 六大质量域与 19 个内置检查器底层基于JavaParser AST 符号求解与 ASM 字节码分析本地引擎完全离线覆盖六大质量域缺陷检测空指针引用链路追踪、资源泄露、空 catch 吞异常。安全扫描SQL 注入、命令注入、路径穿越、不安全反序列化、XXE、SSRF、硬编码密钥、弱加密算法。架构约束跨层直连 DAO、反向依赖、实体池漏出接口边界。并发风险单例 Bean 共享可变状态、静态SimpleDateFormat线程不安全、双重检查锁缺volatile。风格与冗余命名规范、魔法数字、超长行 / 方法、TODO 残留、CPD 式重复代码检测。依赖漏洞解析pom.xml/build.gradle依赖树内置 CVE 漏洞库离线比对。4. 五级评分与质量门禁平台提供 BLOCKER / CRITICAL / MAJOR / MINOR / INFO 五级分类。每级扣分权重、通过分数线、评级分界均可页面自定义、保存即时生效。评分公式score 100 - Σ(数量 × 权重)门禁条件BLOCKER ≤ 限额 且 score ≥ 80技术债估算附带修复耗时预估如“8 小时 55 分”让修复排期有据可依。5. 可选的 AI 深度评审采用 OpenAI 兼容 / Anthropic 双协议适配层内置 12 个厂商模板百炼 / 方舟 / DeepSeek / Kimi / 智谱 / 千帆 / Gemini / Claude / Ollama 等API Key 采用 AES 加密。单条问题支持「AI 增强建议」问题分析 / 修复方案 / 修复代码支持批量深度评审与实时进度。6. 报告推送与 CI/CD 集成报告HTML / PDF 中文报告一键导出内嵌中文字体多 SMTP 发件配置SSL / STARTTLS、授权码 AES 加密。CI/CDWebhook 触发扫描按平台约定校验 HMAC 签名完成后自动回写 commit status 与 MR/PR 评论流水线按门禁结论阻断合并。支持 GitHub / GitLab / Gitee / 自建平台支持私有仓库凭据。原生中文界面、规则、报告原生中文Thymeleaf 服务端渲染无 Vue / npm 构建链零 CDN 依赖。二、技术栈选型层次选型后端Spring Boot 3.2.5 · Java 17 · MyBatis-Plus 3.5.5 · H2 内嵌 · 17 种驱动内置 · 动态多数据源静态分析JavaParser 3.25 (AST 符号求解) · ASM 9.6 · 自研 CPD 式重复代码指纹AI 接入OpenAI 兼容 / Anthropic 双协议适配层报告与邮件OpenPDF (矢量中文 PDF) · Thymeleaf HTML 报告 · Spring Mail安全JWT · BCrypt · AES 配置加密 · OAuth2 远端认证前端Thymeleaf SSR · 原生 JavaScript · 零 CDN部署单 JAR · Docker 多阶段 (内置中文字体、非 root、HEALTHCHECK)三、源码获取与开源协议当前最新版本v2.0.32026-09-27 发布采用MIT 协议开源可免费商用。GitHub: https://github.com/vfaner/jargusGitee: https://gitee.com/super_rgh/jargus四、部署文档完整部署指南含 Docker 与单 JAR 运行方式请参考官方文档https://jargus.qqmu.com/deploy.html
返回列表