
如果你使用 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质量门状态。支持SonarCloud和自托管SonarQube实例,适用于在CI/CD流水线中实现代码质量管控。
若需在构建流水线中实现真正的质量门控制,建议配合使用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%88%90%E6%97%B6%E5%8F%AF%E4%B8%AD%E6%96%AD%E6%9E%84%E5%BB%BA%E3%80%82
conf/sonar.properties中的sonar.core.serverBaseURL),否则资源无法在in动作中获取分析结果在Concourse CI流水线中添加资源类型:
yamlresource_types: - name: sonar-runner type: docker-image source: repository: cathive/concourse-sonarqube-resource tag: latest # 为确保构建可重现,建议使用特定标签而非"latest"
host_url: 必填。SonarQube实例地址,例如"[***]"(使用SonarCloud时),必须以斜杠结尾。organization: 提交分析时使用的组织。使用SonarCloud时必填。login: 具有"执行分析"权限的SonarQube用户登录名或认证令牌。若SonarQube无需认证可省略。password: 与login对应的密码。使用认证令牌时应留空。maven_settings: 执行Maven类型扫描时使用的Maven配置。仅在scanner_type为Maven时生效。该资源实现Concourse CI的三个标准动作:check、in和out。分析由out动作触发,check/in用于等待分析结果并获取项目状态,任务可利用这些信息在质量门未达标时中断构建。
out: 触发SonarQube分析
参数:
project_path: 必填。待分析资源的路径。若路径中存在"sonar-project.properties"文件,将在分析时自动读取。scanner_type: 扫描器类型,可选值:
auto(默认):若源码目录存在pom.xml则使用Maven扫描器,否则使用CLI扫描器cli:强制使用命令行扫描器,即使源码目录存在pom.xmlmaven:强制使用Maven插件执行扫描project_key: 项目密钥(默认从sonar-project.properties读取)project_name: 项目名称(默认从sonar-project.properties读取)project_description: 项目描述(默认从sonar-project.properties读取)project_version: 项目版本(默认从sonar-project.properties读取)project_version_file: 读取项目版本的文件路径。指定后优先级高于project_version参数。branch_name: 分支名称branch_target: 目标合并分支名称,默认为master分支。初始化长期分支时可用于同步非主分支的问题。sources: 包含源文件的目录路径列表tests: 包含测试文件的目录路径列表additional_properties: 可选的键值对对象,用于传递额外的sonar-scanner属性maven_settings_file: Maven配置文件路径。仅在使用Maven扫描器时生效,优先级高于资源的maven_settings配置。in: 获取SonarQube分析结果
该动作会在资源目录中生成两个从SonarQube Web API获取的JSON文件:
qualitygate_project_status.json: 质量门状态,格式参考SonarQube API文档ce_task_info.json: 分析任务信息,格式参考SonarQube API文档以下流水线示例展示如何使用该资源在项目未满足质量门要求时中断构建:
yamlresource_types: - name: sonar-runner type: docker-image source: repository: cathive/concourse-sonarqube-resource tag: latest # 为确保构建可重现,建议使用特定标签而非"latest" resources: - name: example-sources-to-be-analyzed type: git source: uri: https://github.com/example/example.git - name: code-analysis type: sonar-runner source: host_url: https://sonarqube.example.com/ login: ((sonarqube-auth-token)) project_key: com.example.my_project jobs: - name: build-and-analyze plan: - get: example-sources-to-be-analyzed trigger: true - task: build config: platform: linux image_resource: type: docker-image source: repository: debian tag: 'jessie' inputs: - name: example-sources-to-be-analyzed path: example-sources outputs: - name: sonarqube-analysis-input run: path: build.sh dir: example-sources - put: code-analysis params: project_path: sonarqube-analysis-input additional_properties: sonar.javascript.lcov.reportPaths: coverage/lcov.info - name: qualitygate plan: - 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
注:对于大多数语言,SonarQube分析需要源码之外的文件(如覆盖率报告、单元测试报告、Java类文件等),因此构建脚本需确保这些文件在分析前已生成。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务