
pipelinecomponents/jsonlintPipeline 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 文件。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务