专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

asaasdev/codenarc Docker 镜像 - 轩辕镜像

codenarc
asaasdev/codenarc
CodeNarc Docker镜像是封装了Groovy静态代码分析工具CodeNarc的容器化解决方案,用于检查Groovy代码中的风格问题、潜在错误及最佳实践违规,支持通过Docker便捷运行代码分析任务,确保环境一致性与依赖隔离。
0 次下载activeasaasdev镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

CodeNarc Docker镜像文档

概述

CodeNarc是一款针对Groovy语言的静态代码分析工具,可检测代码中的风格违规、潜在错误、未使用变量、复杂逻辑等问题,帮助团队提升代码质量。CodeNarc Docker镜像将CodeNarc及其运行依赖(如Groovy环境)封装为容器,用户无需在本地安装配置相关依赖,即可通过Docker快速启动代码分析任务,有效解决环境差异导致的分析结果不一致问题,简化代码质量检查流程。

核心功能与特性

  • 内置完整工具链:镜像已预装CodeNarc及所需的Groovy运行环境,开箱即可使用,无需额外安装依赖。
  • 自定义规则支持:支持挂载本地规则配置文件(codenarc.xml),灵活定义团队代码规范,满足个性化检查需求。
  • 多格式报告输出:支持生成XML、HTML、文本等多种格式的分析报告,便于集成到CI/CD工具或人工查看。
  • 轻量级设计:基于精简基础镜像构建,体积小、启动速度快,资源占用低。
  • 环境隔离:容器化运行确保不同环境(开发、测试、CI)中代码分析过程的一致性,避免本地环境干扰。

使用场景

  • CI/CD流程集成:作为代码提交或合并前的质量门禁,集成到Jenkins、GitLab CI、GitHub Actions等CI/CD管道,自动阻断违规代码进入后续流程。
  • 本地开发辅助:开发人员在提交代码前,通过Docker快速运行CodeNarc检查本地Groovy代码,实时发现并修复风格问题及潜在错误。
  • 团队规范落地:通过共享规则配置文件,确保团队所有成员遵循统一的代码规范,减少代码评审中的风格争议。

使用方法与配置说明

前提条件
  • 已安装Docker Engine(版本20.10+)。
  • 待分析的Groovy代码目录路径已知(本地路径)。
基本使用步骤
  1. 拉取镜像
    从Docker仓库拉取CodeNarc镜像(以下示例假设镜像名为codenarc:latest,实际使用时需替换为具体仓库地址):

    bash
    docker pull codenarc:latest
    
  2. 运行基础代码分析
    分析本地Groovy代码目录,使用默认规则输出结果到控制台:

    bash
    docker run --rm -v "$(pwd)/src/main/groovy:/code" codenarc:latest --source /code
    
    • --rm:容器运行后自动删除,避免残留容器文件。
    • -v "$(pwd)/src/main/groovy:/code":将本地Groovy代码目录(示例为当前目录下的src/main/groovy)挂载到容器内的/code路径(容器内固定分析目录)。
    • --source /code:指定CodeNarc分析的源代码目录(需与容器内挂载路径一致)。
高级使用示例
1. 使用自定义规则配置文件

若需使用团队自定义规则,将本地规则文件(如./config/codenarc.xml)挂载到容器,并通过--rulesetfiles参数指定:

bash
docker run --rm \
  -v "$(pwd)/src/main/groovy:/code" \
  -v "$(pwd)/config/codenarc.xml:/config/codenarc.xml" \
  codenarc:latest \
  --source /code \
  --rulesetfiles file:/config/codenarc.xml
  • file:/config/codenarc.xml:容器内规则文件路径,需与挂载路径对应。
2. 生成HTML格式报告

指定输出HTML报告到本地目录(如./reports),便于直观查看分析结果:

bash
docker run --rm \
  -v "$(pwd)/src/main/groovy:/code" \
  -v "$(pwd)/reports:/reports" \
  codenarc:latest \
  --source /code \
  --report html:/reports/codenarc-report.html

执行后,报告将生成在本地./reports/codenarc-report.html,可通过浏览器打开查看详细分析结果(含违规代码位置、规则说明等)。

3. 设置违规数量阈值(CI场景)

通过--maxPriority1Violations等参数设置严重违规数量阈值,超过阈值时容器返回非0退出码,触发CI流程中断:

bash
docker run --rm \
  -v "$(pwd)/src/main/groovy:/code" \
  codenarc:latest \
  --source /code \
  --maxPriority1Violations 0  # 不允许优先级1(严重)违规
  --maxPriority2Violations 5  # 允许最多5个优先级2(中等)违规
配置参数说明

CodeNarc支持多种命令行参数,常用参数如下:

参数说明
--source <path>必选,指定容器内待分析的源代码目录路径(需通过-v挂载本地目录)。
--rulesetfiles <paths>可选,指定规则配置文件路径(多个文件用逗号分隔),默认使用内置基础规则。
--report <format:path>可选,指定报告格式及路径,支持html/xml/text/console等格式。
--maxPriority1Violations <num>可选,优先级1(严重)违规的最大允许数量,超过返回非0退出码。
--maxPriority2Violations <num>可选,优先级2(中等)违规的最大允许数量,超过返回非0退出码。
--maxPriority3Violations <num>可选,优先级3(轻微)违规的最大允许数量,超过返回非0退出码。
规则配置文件示例

规则配置文件(codenarc.xml)用于定义检查规则,示例结构如下:

xml
<?xml version="1.0"?>
<codenarc>
  <ruleset name="My Project Rules">
    <!-- 禁止未使用变量 -->
    <rule class="org.codenarc.rule.unused.UnusedVariableRule" priority="2"/>
    <!-- 禁止空catch块 -->
    <rule class="org.codenarc.rule.exceptions.EmptyCatchBlockRule" priority="1"/>
    <!-- 方法最大行数限制(自定义参数) -->
    <rule class="org.codenarc.rule.size.MethodSizeRule" priority="3">
      <property name="maxLines" value="50"/> <!-- 方法最大行数为50行 -->
    </rule>
  </ruleset>
</codenarc>

更多规则及配置细节可参考CodeNarc官方文档。

查看更多 codenarc 相关镜像 →
codenarc/codenarc logo
codenarc/codenarc
by codenarc
运行CodeNarc检查Groovy代码中的缺陷、不良实践、不一致性和风格问题。
50K+ pulls
上次更新:1 个月前
codacy/codacy-codenarc logo
codacy/codacy-codenarc
by codacy
暂无描述
50K+ pulls
上次更新:9 个月前
abletonag/groovylint logo
abletonag/groovylint
by abletonag
CODENARC的Docker化版本,用于对Groovy文件进行代码检查(linting)
100K+ pulls
上次更新:10 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
asaasdev/codenarc
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429