Pipeline Components: Jsonlint 是一个包含 jsonlint 工具的 Docker 镜像,专为 CI/CD 流程设计,用于对 JSON 文件进行格式校验。该镜像基于轻量级的 node:10.14-alpine 构建,jsonlint 工具安装在 /app/ 目录下,便于用户根据需求自定义配置。其核心用途是在 GitLab CI、Jenkins 等持续集成/持续部署环境中,自动化验证 JSON 文件的格式正确性,确保代码库中 JSON 文件符合语***范。
node:10.14-alpine 镜像,体积小,启动速度快,适合 CI/CD 环境中的资源高效利用。-q)等常用参数。/app/ 目录,支持用户在使用前自定义安装配置。在 GitLab CI 中,可将该镜像用于 linting 阶段,批量校验项目中的 JSON 文件。以下是 .gitlab-ci.yml 配置示例:
yamljsonlint: stage: linting image: registry.gitlab.com/pipeline-components/jsonlint:latest script: - | find . -not -path './.git/*' -name '*.json' -type f -print0 | parallel --will-cite -k -0 -n1 jsonlint -q
说明:
find 命令查找所有非 .git 目录下的 .json 文件(排除版本控制相关文件)。parallel 工具并行处理找到的文件,逐个执行 jsonlint -q(静默模式,仅输出错误信息)。jsonlint 将返回非零退出码,导致 GitLab CI 阶段失败。在 Jenkins 流水线中,可通过 Docker 代理使用该镜像,对指定目录下的 JSON 文件进行校验。以下是 Jenkinsfile 配置示例:
groovypipeline { agent none stages { // 对 ./folder_containing_json_files 目录下的 JSON 文件执行格式校验 // 若校验失败,构建将标记为失败 stage('Linting'){ agent { docker { image 'pipelinecomponents/jsonlint:latest' registryUrl 'REDACTED' // 替换为实际的镜像仓库 URL args '-v "/$(pwd)/folder_containing_json_files":/code' // 挂载本地 JSON 文件目录到容器内 /code } } steps { // 通过 -t 选项输出完整执行命令,校验失败时返回退出码 123 sh "find . -name '*.json' -type f | xargs -t -n 1 jsonlint -q" } } // 其他阶段... } }
说明:
docker 代理指定使用 pipelinecomponents/jsonlint:latest 镜像,并挂载本地包含 JSON 文件的目录(folder_containing_json_files)到容器内的 /code 目录。find 命令查找所有 .json 文件,通过 xargs 逐个执行 jsonlint -q,-t 选项用于输出执行命令,便于调试。jsonlint 返回非零退出码(示例中配置为 123),导致流水线阶段失败。本项目采用 语义化版本控制(Semantic Versioning)规范进行版本管理,确保版本号的递增与功能变更保持一致。
本项目基于 MIT 许可证开源,详细许可条款见 LICENSE 文件。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429