专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

apache/skywalking-eyes Docker 镜像 - 轩辕镜像

skywalking-eyes
apache/skywalking-eyes
一个功能全面的许可证工具,用于检查和修复源代码许可证头,以及解析依赖项的许可证信息。
1 收藏0 次下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本
中文简介版本下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本

SkyWalking Eyes

镜像概述和主要用途

SkyWalking Eyes 是一个功能全面的许可证工具,旨在帮助开发团队确保源代码的许可证合规性。它能够检查源代码文件中的许可证头是否正确,自动修复缺失或不正确的许可证头,并解析项目依赖项的许可证信息,进行兼容性检查。该工具支持多种使用方式,包括 GitHub Actions 集成、Docker 镜像运行以及本地编译执行,适用于各类开源和商业项目的许可证管理流程。

核心功能和特性

  • 许可证头管理:检查源代码文件是否包含正确的许可证头,支持自动修复缺失或格式不正确的许可证头
  • 依赖项许可证解析:识别项目依赖项的许可证类型,支持自动检查依赖项许可证与主项目许可证的兼容性
  • 灵活配置:通过配置文件自定义检查路径、忽略文件、许可证内容等
  • 多环境支持:可集成到 GitHub Actions 工作流,通过 Docker 镜像运行,或本地编译使用
  • SPDX 标准支持:支持 SPDX 许可证标识符,简化标准许可证的配置流程

使用场景和适用范围

  • 开源项目的许可证合规性检查,确保所有源代码文件包含正确的许可证头
  • CI/CD 流程集成,在代码提交或 PR 阶段自动执行许可证检查,防止不合规代码合并
  • 依赖项管理,审计项目依赖的第三方库许可证,避免引入不兼容许可证的依赖
  • 大型项目的批量许可证头修复,减少手动操作成本

详细使用方法和配置说明

GitHub Actions 集成

在 GitHub Actions 工作流中添加步骤,实现代码提交时自动检查许可证头:

yaml
- name: 检查许可证头
  uses: apache/skywalking-eyes@main      # 建议使用具体版本号而非main分支
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # 如需在PR上评论检查结果则必须设置
  # with:
      # 可选:设置日志级别,默认info
      # log: debug
      # 可选:指定配置文件路径,默认.licenserc.yaml
      # config: .licenserc.yaml

在项目根目录创建 .licenserc.yaml 配置文件,Apache 软件基金会项目可使用以下基础配置:

yaml
header:
  license:
    spdx-id: Apache-2.0
    copyright-owner: Apache Software Foundation

  paths-ignore:
    - 'dist'
    - 'licenses'
    - '**/*.md'
    - 'LICENSE'
    - 'NOTICE'

  comment: on-failure

完整配置说明参见 配置部分。

Docker 镜像使用
官方 Docker 镜像

使用 Docker 镜像执行许可证头检查和修复:

shell
# 检查许可证头
docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header check

# 修复许可证头
docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix
最新代码 Docker 镜像

对于希望测试 main 分支最新代码的用户和开发者,每个 main 分支提交会发布镜像到 GitHub Container Registry,标记为提交 SHA 值,最新提交同时标记为 latest。

注意:这些镜像非 Apache 官方发布版本。官方发布请参考 下载页面 获取二进制文件,或 Docker Hub 获取官方镜像。

shell
# 检查许可证头(最新代码镜像)
docker run -it --rm -v $(pwd):/github/workspace ghcr.io/apache/skywalking-eyes/license-eye header check

# 修复许可证头(最新代码镜像)
docker run -it --rm -v $(pwd):/github/workspace ghcr.io/apache/skywalking-eyes/license-eye header fix
从源代码编译

手动编译并使用:

bash
# 克隆仓库
git clone [***]
cd skywalking-eyes

# 编译
make build
检查许可证头
bash
bin/darwin/license-eye -c test/testdata/.licenserc_for_test_check.yaml header check

INFO 从文件加载配置: test/testdata/.licenserc_for_test_check.yaml 
INFO 共检查30个文件,有效: 12, 无效: 12, 忽略: 6, 已修复: 0 
ERROR 以下文件缺少有效的许可证头: 
test/testdata/include_test/without_license/testcase.go
test/testdata/include_test/without_license/testcase.graphql
...
exit status 1
修复许可证头
bash
bin/darwin/license-eye -c test/testdata/.licenserc_for_test_fix.yaml header fix

INFO 从文件加载配置: test/testdata/.licenserc_for_test_fix.yaml
INFO 共检查20个文件,有效: 10, 无效: 10, 忽略: 0, 已修复: 10 
解析依赖项许可证

辅助人工审计依赖项许可证,命令始终返回0:

bash
bin/darwin/license-eye -c test/testdata/.licenserc_for_test_check.yaml dep resolve
INFO 未设置GITHUB_TOKEN,license-eye不会在PR上评论
INFO 从文件加载配置: test/testdata/.licenserc_for_test_check.yaml
WARNING 无法解析依赖项许可证: gopkg.in/yaml.v3 cannot identify license content
依赖项                                  |      许可证
------------------------------------------- | ------------
github.com/bmatcuk/doublestar/v2            |          MIT
github.com/sirupsen/logrus                  |          MIT
...
gopkg.in/yaml.v3                            |      Unknown

ERROR 无法识别以下包的许可证:
gopkg.in/yaml.v3
检查依赖项许可证

自动检查依赖项许可证兼容性,发现不兼容许可证时返回1:

bash
bin/darwin/license-eye -c test/testdata/.licenserc_for_test_check.yaml dep check
INFO 未设置GITHUB_TOKEN,license-eye不会在PR上评论 
INFO 从文件加载配置: .licenserc.yaml 
WARNING 无法解析依赖项许可证 <github.com/gogo/protobuf>: cannot identify license content 
...
ERROR 以下许可证与主许可证Apache-2.0不兼容: 
License: Unknown Dependency: github.com/gogo/protobuf
...
exit status 1

配置说明

完整配置文件示例:

yaml
header:  # <1>
  license:
    spdx-id: Apache-2.0  # <2>
    copyright-owner: Apache Software Foundation  # <3>
    content: |  # <4>
      Licensed to Apache Software Foundation (ASF) under one or more contributor
      license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright
      ownership. Apache Software Foundation (ASF) licenses this file to you under
      the Apache License, Version 2.0 (the "License"); you may
      not use this file except in compliance with the License.
      You may obtain a copy of the License at

          [***]

      Unless required by applicable law or agreed to in writing,
      software distributed under the License is distributed on an
      "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
      KIND, either express or implied.  See the License for the
      specific language governing permissions and limitations
      under the License.

    pattern: |  # <5>
      Licensed to the Apache Software Foundation under one or more contributor
      license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright
      ownership. The Apache Software Foundation licenses this file to you under
      the Apache License, Version 2.0 \(the "License"\); you may
      not use this file except in compliance with the License.
      You may obtain a copy of the License at

          [***]

      Unless required by applicable law or agreed to in writing,
      software distributed under the License is distributed on an
      "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
      KIND, either express or implied.  See the License for the
      specific language governing permissions and limitations
      under the License.

  paths:  # <6>
    - '**'

  paths-ignore:  # <7>
    - 'dist'
    - 'licenses'
    - '**/*.md'
    - '**/testdata/**'
    - '**/go.mod'
    - '**/go.sum'
    - 'LICENSE'
    - 'NOTICE'
    - '**/assets/languages.yaml'
    - '**/assets/assets.gen.go'

  comment: on-failure  # <8>

dependency:  # <9>
  files:  # <10>
    - go.mod
  1. header 部分:源代码许可证头的配置。
  2. license.spdx-id:许可证的 SPDX ID,使用标准SPDX许可证时可简化配置,无需复制完整许可证内容,fix命令会使用此许可证模板插入头信息。
  3. license.copyright-owner:版权所有者,用于替换SPDX许可证模板中的[owner]占位符。
  4. license.content:自定义许可证文本,当不使用标准许可证时可在此粘贴,fix命令会使用此内容插入头信息。若同时指定content和spdx-id,content优先级更高。
  5. license.pattern:可选正则表达式,当许可证头与content或SPDX标准文本不完全一致时,用于匹配许可证文本。
  6. paths:需要检查(和修复)的路径列表,默认['**'],支持**/*.md、**/bin/**等格式。
  7. paths-ignore:忽略检查的路径列表,默认包含.git目录和.gitignore中的内容。
  8. comment:PR评论触发条件,可选on-failure(失败时)、always(始终)或never(从不)。除never外,需设置GITHUB_TOKEN环境变量。
  9. dependency部分:依赖项许可证解析的配置。
  10. dependency.files:声明项目依赖的文件列表,如Go项目的go.mod、Maven项目的pom.xml等,相对路径相对于.licenserc.yaml。

注意:当spdx-id为Apache-2.0且所有者为Apache Software Foundation时,内容将使用ASF专用许可证文本;其他情况使用标准许可证文本。

支持的文件类型

header check 命令理论上支持所有文件类型,header fix 命令支持的文件类型可在 languages.yaml 中查看。若语言配置中comment_style_id非空且在 comment styles文件 中定义,则支持fix命令。

技术文档

  • 活动图 详细解释了许可证头修复机制,源文件见 header_fix_logic.plantuml。

贡献方式

  • 如发现应支持但未包含的文件类型,可通过 PR 添加配置到上述两个文件。
  • 如发现未支持的SPDX ID许可证模板,可通过 PR 添加到 模板文件夹。

许可证

Apache License 2.0

联系我们

  • 提交 issue:标题前缀使用 [INFRA],访问 issue 页面。
  • 邮件列表:*******,发送邮件至 *** 并按照回复订阅。
  • Slack:加入 Apache Slack 的 skywalking 频道,链接失效时可在 Apache INFRA WIKI 获取最新邀请链接。
  • ***:ASFSkyWalking
查看更多 skywalking-eyes 相关镜像 →
apache/skywalking-ui logo
apache/skywalking-ui
Apache SkyWalking Web用户界面是开源可观测性平台Apache SkyWalking的可视化交互入口,用于集中呈现分布式系统的监控数据,支持服务拓扑图展示、性能指标(如响应时间、吞吐量、错误率)实时监控、分布式追踪链路查询及告警状态可视化等核心功能,帮助运维与开发人员直观掌握系统运行状态,快速定位性能瓶颈与故障点,有效提升分布式架构下的系统可观测性与问题排查效率。
1101M+ pulls
上次更新:未知
apache/skywalking-oap-server logo
apache/skywalking-oap-server
Apache SkyWalking OAP Server是开源分布式可观测性平台Apache SkyWalking的核心组件,负责从代理、服务网格等数据源收集指标、追踪和日志数据,通过分析处理后存储于支持多种数据库的后端,并提供查询接口为UI展示及告警功能提供数据支持,助力用户实时监控分布式系统运行状态、诊断性能瓶颈、保障服务稳定性与可靠性。
16810M+ pulls
上次更新:未知
apache/skywalking-java-agent logo
apache/skywalking-java-agent
Apache SkyWalking的Java代理
231M+ pulls
上次更新:未知
apache/skywalking-base logo
apache/skywalking-base
自8.8.0版本起不再使用的Apache SkyWalking基础镜像,曾用于构建UI和OAP Server镜像,7.0.0版本起分为es6(连接Elasticsearch 6)和es7(连接Elasticsearch 7)标签,latest标签指向es6。
231M+ pulls
上次更新:未知
apache/skywalking-rover logo
apache/skywalking-rover
Apache SkyWalking Rover是一款指标收集器和基于eBPF的性能分析器,支持C、C++、Golang和Rust语言。
11M+ pulls
上次更新:未知
paketobuildpacks/apache-skywalking logo
paketobuildpacks/apache-skywalking
暂无描述
100K+ pulls
上次更新:未知

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

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

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
apache/skywalking-eyes
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.