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

sonatype/gitlab-nexus-iq-pipeline Docker 镜像 - 轩辕镜像

gitlab-nexus-iq-pipeline
sonatype/gitlab-nexus-iq-pipeline
Sonatype for GitLab CI Docker镜像用于在GitLab CI/CD管道中对构建制品和Docker容器执行策略评估、漏洞扫描,支持GitLab Ultimate版的漏洞报告和依赖列表更新。
6 收藏0 次下载activesonatype镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Sonatype for GitLab CI

Sonatype for GitLab CI 是一个 Docker 镜像,允许在 GitLab CI/CD 管道运行期间对一个或多个构建制品执行策略评估。还可通过 Sonatype Container Security 集成扫描 Docker 容器。

对于 GitLab Ultimate 客户,Sonatype for GitLab CI 可填充 漏洞报告 和 依赖列表(GitLab Ultimate 安全功能的一部分)。

管道环境变量

建议在组或项目级别通过 <项目/组> → 设置 → CI/CD → 变量 配置以下环境变量:

  • NEXUS_IQ_URL - Sonatype IQ Server 的 URL
  • NEXUS_IQ_USERNAME - Sonatype IQ Server 的用户名
  • NEXUS_IQ_PASSWORD - Sonatype IQ Server 的密码(确保隐藏密码)
  • NEXUS_IQ_REPORT_FORMAT - 策略评估报告格式。接受值:summary(摘要)和 enhanced(增强)。

特定于容器扫描,连接远程仓库时还需定义以下变量(Docker 仓库凭据):

  • NEXUS_CONTAINER_IMAGE_REGISTRY_USER - Docker 仓库用户名
  • NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD - Docker 仓库密码

Sonatype IQ 策略评估

适用于所有 GitLab 版本

/sonatype/evaluate 操作允许在 GitLab CI/CD 管道中对一个或多个构建制品执行策略评估。

用法
yaml
myJob:
  stage: <GitLab 管道阶段>
  image: sonatype/gitlab-nexus-iq-pipeline:latest  
  script:
    /sonatype/evaluate [选项] <要扫描的归档文件或目录>
示例
yaml
policyEval:
  stage: test
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    /sonatype/evaluate -i SomeWebApp target/our-web-app.war 
可用选项

-s, --server-url <iq-server-url> IQ Server URL。若未提供,必须设置环境变量 NEXUS_IQ_URL。必填项

-a, --authentication <username:password> IQ Server 凭据。若未提供,必须设置环境变量 NEXUS_IQ_USERNAME 和 NEXUS_IQ_PASSWORD。必填项

-i, --application-id <iq-application-id> IQ Server 上的应用 ID。必填项

-t, --stage <stage> 运行分析的 IQ Server 阶段。接受值:develop、source、build、stage-release、release、operate。默认值:build

-O, --organization-id <iq-organization-id> IQ Server 上的组织 ID。若应用不存在且启用自动应用创建配置,将在此组织下创建应用。默认值:none

-f, --report-format <format> 控制策略评估 HTML 报告的详细程度。接受值:summary、enhanced。若未提供且设置了 NEXUS_IQ_REPORT_FORMAT,则使用环境变量值。默认值:enhanced

-rn, --report-name <policy-evaluation-report.html> 策略评估 HTML 报告的名称。默认值:{application-name}-policy-eval.html

-r, --result-file <result-file.json> 存储策略评估结果的 JSON 文件名称(机器可读格式)。默认值:none

-w, --fail-on-policy-warnings 策略评估警告时失败。默认值:false

-e, --ignore-system-errors 忽略系统错误(IO、网络、服务器等)。默认值:false

-E, --ignore-scanning-errors 忽略扫描错误(损坏文件或格式错误文件等)。默认值:false

-p, --proxy <host[:port]> 使用的代理,格式 host[:port]。默认值:none

-U, --proxy-user <username:password> 代理凭据,格式 username:password。默认值:none

-ra, --reachability-analysis 启用可达性分析。默认值:false

-ran, --reachability-analysis-namespaces 仅对指定命名空间运行可达性分析。可多次指定,例如:-ran namespace1 -ran namespace2。可选

-X, --debug 启用调试日志。警告:可能在日志中暴露敏感信息。默认值:false

-h, --help 显示帮助信息

-D<key=value> 设置 Java 系统属性(键值对)。可多次指定,例如:-Dkey1=value1 -Dkey2=value2。可选

评估报告

evaluate 操作生成的 HTML 报告包含以下内容之一:

  • 简要摘要信息和指向 IQ Server 上详细报告的链接;
  • 上述所有内容 plus 触发策略操作的组件详情,包括策略违规细节。

报告存储在构建目录中,默认名称为 -policy-eval-report.html。可使用 --report-name 更改名称。

若要将报告保存为 pipeline 制品,可在 .gitlab-ci.yml 的评估步骤中添加 artifacts 部分:

yaml
  artifacts:
    paths:
      - <application-id>-policy-eval-report.html
其他示例
多个构建制品,相同 IQ 应用 ID

可指定多个扫描目标(目录或文件,空格分隔):

yaml
policyEval:
  stage: test
  image: sonatype/gitlab-nexus-iq-pipeline:latest 
  script:
    /sonatype/evaluate -i SomeSystem web-module/target/our-web-app.war lib-module/target/our-shared-lib.jar 
多个构建制品,不同 IQ 应用 ID

可对每个制品执行单独评估,示例如下(同一任务):

yaml
policyEval:
  stage: test
  image: sonatype/gitlab-nexus-iq-pipeline:latest 
  script:
    /sonatype/evaluate -i SomeWebApp web-module/target/our-web-app.war
    /sonatype/evaluate -i SomeSharedLib lib-module/target/our-shared-lib.jar 
高级管道(多阶段多策略评估)

以下示例为 Maven 项目设置三个阶段(build、test、release),包含测试和发布阶段的策略评估:

yaml
.nexus_iq_policy_eval: &nexus_iq_policy_eval
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/evaluate -i SomeWebApp -t $IQ_STAGE target/*.war
  artifacts:
    paths:
      - ./SomeWebApp-policy-eval-report.html

# 主分支评估(build 阶段)
iq_policy_main:
  <<: *nexus_iq_policy_eval
stage: test
variables:
  IQ_STAGE: "build"
only:
  - main

# 其他分支评估(develop 阶段)
iq_policy_branch:
  <<: *nexus_iq_policy_eval
stage: test
variables:
  IQ_STAGE: "develop"
except:
  - main

# 发布阶段评估(手动触发)
iq_policy_release:
  <<: *nexus_iq_policy_eval
stage: release
variables:
  IQ_STAGE: "release"
only:
  - main
when: manual

容器扫描 via Sonatype Container Security

扫描容器需使用 Docker in Docker 镜像。示例配置如下:

yaml
image: docker:docker:24.0.5

services:
  - docker:24.0.5-dind

build:
  stage: build
  script:
    - docker run -v $CI_PROJECT_DIR:/sonatype/reports -v /var/run/docker.sock:/var/run/docker.sock -e NEXUS_IQ_URL -e NEXUS_IQ_USERNAME -e NEXUS_IQ_PASSWORD -e NEXUS_CONTAINER_IMAGE_REGISTRY_USER -e NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD sonatype/gitlab-nexus-iq-pipeline:latest /sonatype/evaluate -i SomeContainerApp container:[***]
  artifacts:
    paths:
      - $CI_PROJECT_DIR/$CI_PROJECT_NAME-policy-eval-report.html
  • 扫描私有镜像需 NEXUS_CONTAINER_IMAGE_REGISTRY_USER 和 NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD;公共镜像无需凭据。
  • 1.183.0 及更早版本需添加 -v /tmp:/tmp 挂载。

漏洞报告更新

适用于 GitLab Ultimate

/sonatype/create-vulnerability-report 操作可基于策略评估结果填充 GitLab 的 漏洞报告。需在 evaluate 步骤中生成结果文件并作为制品传递。

用法
yaml
dependency_scanning:
  needs: [ <evaluate-step-name> ]
  stage: <GitLab 管道阶段>
  when: always
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/create-vulnerability-report [选项]
  artifacts:
    reports:
      dependency_scanning: <vulnerability-report.json>
示例
yaml
iq_policy_evaluation:
  stage: test
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/evaluate -i testapp -r scan-result.json *.jar
  artifacts:
    when: always
    paths:
      - scan-result.json

dependency_scanning:
  needs: ["iq_policy_evaluation"]
  stage: test
  when: always
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/create-vulnerability-report -r scan-result.json --report-file vulnerability-report.json -x 15.1.4
  artifacts:
    reports:
      dependency_scanning: vulnerability-report.json 
可用选项

-r, --result-file <result-file.json> - 策略评估结果 JSON 文件名称。必填项 -f, --report-file <vulnerability-report.json> - 生成的依赖扫描报告名称。必填项 -x, --schema-version <15.1.4> - 报告 schema 版本。接受值:15.0.7、15.1.4、15.2.1。默认值:15.2.1

获取和存储 SBOM 文件

适用于所有 GitLab 版本

/sonatype/fetch-sbom 操作可从 IQ Server 下载与扫描 ID 关联的 SBOM 文件,并存储为 pipeline 制品。GitLab Ultimate 客户可使用符合 CycloneDX 标准的 SBOM 填充 依赖列表(需 --update-dependency-list 标志)。

用法示例
yaml
iq_policy_evaluation:
  stage: test
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/evaluate -i testapp -r scan-result.json *.jar
  artifacts:
    when: always
    reports:
      dotenv: evaluate.env
    paths:
      - scan-result.json

download_sbom:
  needs: ["iq_policy_evaluation"]
  when: always
  stage: deploy
  image: sonatype/gitlab-nexus-iq-pipeline:latest
  script:
    - /sonatype/fetch-sbom -i testapp -si ${NEXUS_IQ_SCAN_ID} -ss cycloneDx -sv 1.5 -sf json -n sbom.cdx.json -udl
  artifacts:
    reports:
      cyclonedx: sbom.cdx.json

发布说明

发布说明可在 此处 查看。

查看更多 gitlab-nexus-iq-pipeline 相关镜像 →
sonatype/nexus3 logo
sonatype/nexus3
by Sonatype
认证
Sonatype Nexus Repository 3是一款企业级仓库管理器,用于集中存储、管理和分发各类软件组件,支持Maven、npm、Docker、Helm等多种格式,可无缝整合CI/CD工具链,助力开发团队实现DevOps流程自动化,提升构建效率与组件交付速度,同时提供组件安全扫描与治理能力,是现代化软件开发中制品管理的核心解决方案。
1452100M+ pulls
上次更新:1 个月前
sonatype/nexus logo
sonatype/nexus
by Sonatype
认证
Sonatype Nexus是一款企业级软件仓库管理器,支持Maven、npm、Docker等多种包格式,可集中存储、管理开发依赖组件,集成安全扫描功能实时检测漏洞,助力团队在CI/CD流程中高效管控软件资产,确保组件合规性与安全性,是实现开源治理和DevSecOps的核心工具,帮助企业提升开发效率并降低供应链风险。
46510M+ pulls
上次更新:1 年前
sonatype/nexus-iq-cli logo
sonatype/nexus-iq-cli
by Sonatype
认证
该Docker镜像封装Sonatype IQ CLI,用于对挂载工作区中的文件执行组件智能评估。
51M+ pulls
上次更新:25 天前
sonatype/nexus-iq-server logo
sonatype/nexus-iq-server
by Sonatype
认证
Sonatype Nexus IQ Server是用于软件供应链安全与合规性管理的工具,可分析组件漏洞、评估许可证合规并管理软件质量,帮助组织确保开源组件安全合规。
301M+ pulls
上次更新:29 天前
sonatype/docker-nexus3 logo
sonatype/docker-nexus3
by Sonatype
认证
Sonatype Nexus 3 仓库管理器Docker镜像(已弃用)
36500K+ pulls
上次更新:8 年前
atlassian/pipelines-agent logo
atlassian/pipelines-agent
by Atlassian
认证
暂无描述
4100M+ pulls
上次更新:6 年前

轩辕镜像配置手册

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

登录仓库拉取

通过 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访问体验非常流畅,大镜像也能快速完成下载。"

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

官方QQ群: 13763429