轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
concourse-sonarqube-resource

cathive/concourse-sonarqube-resource

cathive
自动构建

Concourse CI的资源,用于执行SonarQube分析并跟踪质量门状态,支持SonarCloud和自托管SonarQube实例,可集成到CI流水线中实现代码质量控制。

5 次收藏下载次数: 0状态:自动构建维护者:cathive仓库类型:镜像最近更新:2 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。
点击查看

Concourse CI的SonarQube资源

执行SonarQube分析并跟踪SonarQube质量门状态。

此资源适用于SonarCloud和自托管的SonarQube实例。

如果要在构建流水线中实现真正的质量门控制,建议配合使用https://github.com/cathive/concourse-sonarqube-qualitygate-task%EF%BC%8C%E5%BD%93SonarQube%E6%8A%A5%E5%91%8A%E7%9A%84%E8%B4%A8%E9%87%8F%E7%9B%AE%E6%A0%87%E6%9C%AA%E8%BE%BE%E6%A0%87%E6%97%B6%EF%BC%8C%E8%AF%A5%E4%BB%BB%E5%8A%A1%E5%8F%AF%E4%B8%AD%E6%96%AD%E6%9E%84%E5%BB%BA%E3%80%82

需求

  • 运行中的SonarQube实例(本资源已在v6.5–v7.1版本测试通过,但应兼容所有≥v5.3的SonarQube版本)
  • 必须正确配置SonarQube服务器的基础URL!否则资源在执行in动作时无法获取分析结果(配置项为conf/sonar.properties中的sonar.core.serverBaseURL)

安装

在Concourse CI流水线中添加新的资源类型:

yaml
resource_types:
- name: sonar-runner
  type: docker-image
  source:
    repository: cathive/concourse-sonarqube-resource
    tag: latest # 为确保构建可重现,建议使用特定标签而非依赖"latest"

源配置

  • host_url: 必填。SonarQube实例地址,例如使用SonarCloud时为"[***]",必须以斜杠结尾。

  • organization: 提交分析结果到SonarQube实例时使用的组织。使用SonarCloud进行代码分析时必填。

  • login: 具有"执行分析"权限的SonarQube用户登录名或认证令牌。如果SonarQube实例无需认证,可留空。

  • password: 与sonar.login用户名对应的密码。如果使用认证令牌,此值应留空。

  • maven_settings: 执行SonarQube分析时使用的Maven设置。仅在out阶段的scanner_type设置为/确定使用Maven时生效。

  • __debug: 用于调试资源问题的标志。启用后会在控制台输出额外调试信息,并在shell执行时设置-x标志。生产环境通常不建议设为true,可能导致密码和访问密钥泄露到控制台。

行为

该资源实现了三个动作(check、in和out)。分析由out动作触发,check/in动作用于等待分析结果并获取项目状态。任务可利用这些信息在质量门标准未达标时中断构建(如需)。

out: 触发SonarQube分析

参数

  • project_path: 必填 待分析资源的路径。如果路径中包含"sonar-project.properties"文件,分析时会自动读取。

  • scanner_type: 使用的扫描器类型。可能值:

    • auto(默认):如果sources指定的目录中存在pom.xml,则使用Maven扫描器,否则使用CLI扫描器。
    • cli:强制使用命令行扫描器,即使sources目录中存在Maven项目对象模型(pom.xml)。
    • maven:强制使用Maven插件执行扫描。
  • project_key: 项目密钥(默认值从sonar-project.properties读取)

  • project_key_file: 用于读取项目密钥的文件。指定此选项时,优先级高于project_key参数。

  • project_name: 项目名称(默认值从sonar-project.properties读取)

  • project_description: 项目描述(默认值从sonar-project.properties读取)

  • project_version: 项目版本(默认值从sonar-project.properties读取)

  • project_version_file: 用于读取项目版本的文件。指定此选项时,优先级高于project_version参数。

  • autodetect_branch_name: 尝试自动识别分支名称。如果project_path包含受支持的版本控制系统(当前仅支持Git)的SCM元数据,则生效。

  • branch_name: 分支名称。如已设置,会覆盖autodetect_branch_name。

  • branch_name_file: 用于读取分支名称的文件。指定此选项时,优先级高于branch_name参数。

  • branch_target: 短期分支生命周期结束时要合并到的目标分支名称。如留空,默认为主分支。也可用于初始化长期分支时从非主分支同步问题(详见分支插件文档)。

  • branch_target_file: 用于读取目标分支的文件。指定此选项时,优先级高于branch_target参数。

  • decorate_pr: 如果设为true,将尝试从拉取请求资源获取拉取请求ID、头部分支名称和基础分支名称,并在分析时启用sonar.pullrequest.key、sonar.pullrequest.branch和sonar.pullrequest.base标志。

    支持以下拉取请求资源:

    • telia-oss/github-pr-resource

    • zarplata/concourse-git-bitbucket-pr-resource

    • jtarchie/github-pullrequest-resource

    注意:使用此功能需使用SonarCloud或SonarQube Developer版本。

  • sources: 包含源文件的目录路径列表。

  • tests: 包含测试文件的目录路径列表。

  • additional_sonar_scanner_opts: 传递给$SONAR_SCANNER_OPTS环境变量的可选值。可用于在扫描器进程启动前提供参数,目前主要用于HTTP代理设置。

  • additional_properties: 运行sonar-scanner时传递的可选对象/字典形式的额外属性。

  • additional_properties_file: 包含要传递给sonar-scanner的属性的可选文件路径。

  • maven_settings_file: 要使用的Maven设置文件路径。仅在scanner_type设置为/确定使用Maven时生效。如果资源本身配置了maven_settings,此键会覆盖其值。

  • sonar_maven_plugin_version: sonar-maven-plugin版本(默认空,使用最新版本)

通配符支持

支持将通配符转换为逗号分隔的路径:

  • sources
  • tests
  • additional_properties中所有后缀为.reportPaths的键

in: 获取SonarQube分析结果

该动作会在资源文件夹中生成两个从SonarQube Web API获取的JSON文件:

参数

  • quality_gate: 可选 JSON 启用质量门检查并控制get步骤的成功/失败。
    • ignore_all_warn: bool 忽略所有WARN指标,使get步骤成功
    • ignore_all_error: bool 忽略所有ERROR指标,使get步骤成功
    • ignore_warns: array 质量门检查时忽略的WARN指标键列表
    • ignore_errors: array 质量门检查时忽略的ERROR指标键列表

注意:ignore_warns/ignore_errors的可能值可通过以下方式获取:

  • https://<your-sonar_host>/quality_gates/show/<quality_gate_id>
  • https://<your-sonar_host>/api/qualitygates/show?id=<quality_gate_id>

输出

  • qualitygate_project_status.json
    资源在out动作触发的计算引擎任务的质量门状态。
    格式:[***]

  • ce_task_info.json
    执行分析的计算引擎任务信息。
    格式:[***]

完整示例

以下示例流水线展示如何使用该资源在项目未满足关联质量门要求时中断构建:

yaml
resource_types:

- name: sonar-runner
  type: docker-image
  source:
    repository: cathive/concourse-sonarqube-resource
    tag: latest # 为确保构建可重现,建议使用特定标签而非依赖"latest"

resources:

- name: sources
  type: git
  source:
    uri: https://github.com/example/example.git

- name: artifact
  type: s3
  # ... 配置省略

- name: code-analysis
  type: sonar-runner
  source:
    host_url: [***]
    login: ((sonarqube-auth-token))

jobs:

# 构建作业从"sources"资源获取代码,执行构建和测试任务。编译、测试等完成后,将整个工作目录复制到输出文件夹"sonarqube-analysis-input",并将构建任务创建的包推送到artifact资源,同时使用sonarqube-resource执行静态代码分析。
- name: build-and-analyze
  plan:
  - get: sources
    trigger: true
  - task: build
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: debian
          tag: 'jessie'
      inputs:
      - name: sources
      outputs:
      # 提示:sonar-runner需要的不仅仅是源代码,还需要行覆盖率报告、单元测试报告、Java类文件和变异测试结果等。因此,必须确保构建脚本在Concourse CI构建计划中提供源代码和编译/测试结果。(这也是需要以下输出的原因)
      - name: sonarqube-analysis-input
      run:
        path: build.sh
        dir: sources
  - in_parallel:
    - put: code-analysis
      params:
        project_path: sonarqube-analysis-input
        project_key: com.example.my_project
        sources: ["."]
        tests: ["."]
        additional_properties:
          # 将作为"-Dsonar.javascript.lcov.reportPaths=coverage/lcov.info"传递给扫描器
          sonar.javascript.lcov.reportPaths: coverage/lcov.info
      get_params:
        quality_gate:
          ignore_errors: ['new_coverage', 'violations']
          ignore_warns: ['new_duplicated_lines_density', 'violations']
    - put: artifact

# 质量门任务在SonarQube分析结果表明任何质量指标未达标时中断构建
- name: qualitygate
  plan:
  - in_parallel:
    - get: artifact
      passed:
      - build-and-analyze
    - get: code-analysis
      passed:
      - build-and-analyze
      trigger: true
  - task: check-sonarqube-quality-gate
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: cathive/concourse-sonarqube-qualitygate-task
          tag: latest # 为确保构建可重现,使用版本化标签!
      inputs:
      - name: code-analysis
      run:
        path: /sonarqube-qualitygate-check
        dir: code-analysis

# 仅部署通过质量门检查的制品
- name: deploy
  plan:
  - get: artifact
    passed:
    - qualitygate

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 concourse-sonarqube-resource 镜像标签

docker pull docker.xuanyuan.run/cathive/concourse-sonarqube-resource:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull cathive/concourse-sonarqube-resource:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
cathive/concourse-sonarqube-resource
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 concourse-sonarqube-resource 镜像推荐

openg/concourse-sonarqube-resource logo

openg/concourse-sonarqube-resource

openg
Concourse CI的资源镜像,用于集成SonarQube代码分析结果,助力CI/CD流程中实现代码质量检查与监控。
2 次收藏500万+ 次下载
8 年前更新
loafoe/concourse-sonarqube-resource logo

loafoe/concourse-sonarqube-resource

loafoe
暂无描述
50万+ 次下载
8 年前更新
pjthomso/concourse-sonarqube-resource logo

pjthomso/concourse-sonarqube-resource

pjthomso
该Docker镜像是Concourse CI的资源,用于执行SonarQube代码质量分析并跟踪质量门状态,支持SonarCloud和自托管SonarQube实例。
100万+ 次下载
7 年前更新
flyingwhale/concourse-sonarqube-resource logo

flyingwhale/concourse-sonarqube-resource

flyingwhale
暂无描述
100万+ 次下载
7 年前更新
mjarends/concourse-sonarqube-resource logo

mjarends/concourse-sonarqube-resource

mjarends
该Docker镜像为Concourse CI提供SonarQube资源,支持执行代码质量分析并跟踪SonarQube质量门状态,兼容SonarCloud和自托管SonarQube实例,助力CI/CD pipeline实现代码质量管控。
50万+ 次下载
6 年前更新
thecase/concourse-sonarqube-resource logo

thecase/concourse-sonarqube-resource

thecase
暂无描述
10万+ 次下载
8 年前更新

查看更多 concourse-sonarqube-resource 相关镜像