轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
pipelinecomponents/shellcheck
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

shellcheck Docker 镜像下载 - 轩辕镜像

shellcheck 镜像详细信息和使用指南

shellcheck 镜像标签列表和版本信息

shellcheck 镜像拉取命令和加速下载

shellcheck 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

shellcheck
pipelinecomponents/shellcheck

shellcheck 镜像详细信息

shellcheck 镜像标签列表

shellcheck 镜像使用说明

shellcheck 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

容器化的Shellcheck工具,用于在GitLab CI环境中对shell脚本进行静态代码分析与错误检查。
2 收藏0 次下载activepipelinecomponents镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

shellcheck 镜像详细说明

shellcheck 使用指南

shellcheck 配置说明

shellcheck 官方文档

Pipeline Components: Shellcheck 镜像文档

镜像概述和主要用途

Pipeline Components: Shellcheck 是一个包含 Shellcheck 工具的 Docker 镜像,专为 GitLab CI/CD 流水线设计。Shellcheck 是一款开源的 Shell 脚本静态分析工具,可检测脚本中的语法错误、常见陷阱、不符合最佳实践的代码等问题。本镜像的主要用途是在 GitLab CI/CD 流程中集成 Shell 脚本的自动化 linting 检查,提升脚本质量和可靠性。

核心功能和特性

核心功能

  • 运行 Shellcheck 工具对 Shell 脚本进行静态代码分析。

特性

  • 轻量级:基于精简基础镜像构建,体积小,启动速度快。
  • CI/CD 友好:无缝集成 GitLab CI/CD 流水线,支持通过 YAML 配置直接调用。
  • 灵活检查:支持多种 Shell 脚本识别方式(如 .sh 文件扩展名、Shebang 声明)。
  • 并行处理:支持通过 xargs -P 实现多进程并行检查,提升大型项目的检查效率。

使用场景和适用范围

使用场景

  • GitLab CI/CD 流水线的 linting 阶段,在代码构建或测试前对 Shell 脚本进行自动化检查。
  • 本地开发环境中手动触发 Shell 脚本检查(通过 Docker 命令行)。

适用范围

  • 任何基于 GitLab CI/CD 构建的项目,尤其是包含 Shell 脚本(如部署脚本、构建脚本、工具脚本等)的项目。
  • 需要确保 Shell 脚本语法正确性、安全性及遵循最佳实践的开发团队。

详细使用方法和配置说明

GitLab CI/CD 配置示例

基础用法

在 GitLab CI 配置文件(.gitlab-ci.yml)中添加如下阶段,对项目中所有 .sh 文件执行 Shellcheck 检查:

shellcheck:
  stage: linting  # 属于 linting 阶段
  image: registry.gitlab.com/pipeline-components/shellcheck:latest  # 使用本镜像
  script:
    - |
      # 查找所有 .sh 文件(排除 .git 目录),并逐个执行 shellcheck
      find . -name .git -type d -prune -o -type f -name \*.sh -print0 |
      xargs -0 -r -n1 shellcheck

说明:

  • find . -name .git -type d -prune:排除 .git 目录,避免检查版本控制相关文件。
  • -name \*.sh:匹配所有 .sh 扩展名的文件。
  • xargs -0 -r -n1 shellcheck:通过 xargs 传递文件路径给 shellcheck,-0 处理含空格的文件名,-r 无文件时不执行,-n1 每次处理 1 个文件。

高级用法(并行检查 + Shebang 识别)

以下配置支持并行处理以加速检查,并自动识别带有 Shebang(如 #!/bin/bash)的非 .sh 文件:

shellcheck:
  stage: linting
  image: registry.gitlab.com/pipeline-components/shellcheck:latest
  script:
    # 检查所有 .sh 文件(并行处理)
    - |
      find . -name .git -type d -prune -o -type f -name \*.sh -print0 |
      xargs -0 -P $(nproc) -r -n1 shellcheck  # -P $(nproc) 按 CPU 核心数并行处理
    # 检查带有 Shebang 的非 .sh 文件(如无扩展名但以 #!/bin/sh 开头的脚本)
    - |
      find . -name .git -type d -prune -o -type f -regex '.*/[^.]*$' -print0 |  # 匹配无扩展名的文件
      xargs -0 -P $(nproc) -r -n1 sh -c 'FILE="$0"; if head -n1 "$FILE" |grep -q "^#\\! \?/.\+\(ba|d|k\)\?sh" ; then shellcheck "$FILE" ; else /bin/true ; fi '

说明:

  • -P $(nproc):使用 nproc 获取 CPU 核心数,实现并行检查,提升效率。
  • 第二部分通过 head -n1 "$FILE" |grep -q "^#\\! \?/.\+\(ba|d|k\)\?sh" 匹配 Shebang(如 #!/bin/bash、#!/dash 等),对符合条件的文件执行 Shellcheck。

Docker 命令行使用

除 CI/CD 集成外,可通过 docker run 在本地直接运行镜像检查脚本:

# 检查当前目录下的 script.sh 文件(挂载本地目录到容器内 /app)
docker run --rm -v $(pwd):/app pipelinecomponents/shellcheck shellcheck /app/script.sh

# 检查当前目录下所有 .sh 文件(使用 find 命令)
docker run --rm -v $(pwd):/app pipelinecomponents/shellcheck sh -c "find /app -name '*.sh' -print0 | xargs -0 shellcheck"

参数说明:

  • --rm:容器退出后自动删除。
  • -v $(pwd):/app:将当前工作目录挂载到容器内 /app 目录,使容器可访问本地脚本文件。

Docker Compose 配置(可选)

若需通过 Docker Compose 管理(适用于固定检查任务),可创建 docker-compose.yml:

version: '3'
services:
  shellcheck:
    image: pipelinecomponents/shellcheck
    volumes:
      - ./:/app  # 挂载本地目录到容器 /app
    command: sh -c "find /app -name '*.sh' -print0 | xargs -0 shellcheck"  # 检查所有 .sh 文件

运行检查:

docker-compose up

版本控制

本项目采用语义化版本控制(Semantic Versioning),版本号格式为 MAJOR.MINOR.PATCH,具体规则参见 Semantic Versioning。

支持与贡献

支持渠道

  • ***** 社区**:通过 *** 频道 提问。
  • Issue 跟踪:在 GitLab 仓库 提交问题。

贡献指南

本项目欢迎代码贡献和使用反馈,贡献指南详见 贡献文档。

许可证

本项目基于 MIT 许可证 开源,由 Robbert Müller 维护。

查看更多 shellcheck 相关镜像 →
github/shellcheck logo
github/shellcheck
by github
认证
暂无描述
723 pulls
上次更新:6 年前
koalaman/shellcheck logo
koalaman/shellcheck
by koalaman
ShellCheck是一款用于Shell脚本分析的工具,可检查脚本中的语法错误、潜在问题及优化建议。
4210M+ pulls
上次更新:10 天前

常见问题

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

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

轩辕镜像下载加速使用手册

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

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.