尝试构建管道时 SonarQube 错误 ECONNREFUSED
Posted
技术标签:
【中文标题】尝试构建管道时 SonarQube 错误 ECONNREFUSED【英文标题】:SonarQube Error ECONNREFUSED when trying to build pipeline 【发布时间】:2021-02-09 11:04:08 【问题描述】:错误信息:
2020-10-27T07:09:07.2165374Z ##[section]开始:准备分析 SonarQube 2020-10-27T07:09:07.2173598Z ==================================================== ============================= 2020-10-27T07:09:07.2173933Z 任务:准备分析 配置 2020-10-27T07:09:07.2174239Z 描述:准备 SonarQube 分析配置 2020-10-27T07:09:07.2174492Z 版本 : 4.11.0 2020-10-27T07:09:07.2174726Z 作者: sonarsource 2020-10-27T07:09:07.2175119Z 帮助:版本:4.11.0。 More Information 2020-10-27T07:09:07.2175552Z ==================================================== ============================= 2020-10-27T07:09:11.0792396Z ##[错误][SQ] API GET '/api/server/version' 失败,错误是: "code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect","address":"127.0.0.1","port":9000 2020-10-27T07:09:11.1210822Z ##[section]Finishing: 准备分析 SonarQube
它在我的 sonarqube 上运行并通过声纳扫描仪进行分析,但是当我尝试运行管道时,我不断收到此错误。
【问题讨论】:
【参考方案1】:您需要确保可以从 devops 管道代理访问您的 sonarqube 服务器。如果您的 sonarqube 服务器托管在本地服务器上,您必须创建一个 self-hosted agent 并在此自托管代理上运行您的管道。这是因为云代理无法访问本地声纳服务器。
您可以检查以下步骤,使用 devops 管道为您的项目配置声纳云分析。
1,并在您的 azure devops 项目上设置 sonarqube service connection。
项目设置-->服务连接(在 Pipelines 下)--> 新服务连接--> 选择 Sonarqube。请参考here 获取声纳安全令牌
2,将 Sonarqube 扩展安装到您的 azure devops 组织。并将以下三个声纳任务添加到管道的末尾(在构建任务之后)。对于以下 yaml 管道中的示例。
- task: SonarQubePrepare@4
inputs:
SonarQube: sonarqubeConnectionName
scannerMode: CLI
configFile: sonar-project.properties
- task: SonarQubeAnalyze@4
- task: SonarQubePublish@4
3,在项目的根目录中创建一个具有以下属性的sonar-project.properties
文件。或将以下属性添加到 SonarQubePrepare 任务的 additional Properties
(extraProperties
) 字段。点击here了解更多信息
sonar.projectKey=projectKey
sonar.projectName=projectName
sonar.projectVersion=1.0
sonar.sources=mainsourcefilesfolder #eg. dist
sonar.sourceEncoding=UTF-8
sonar.tests=testcodesourcefolder
注意:SonarQube 仅在 master 分支上工作。请针对主分支运行您的管道。更多信息请查看this thread。
【讨论】:
以上是关于尝试构建管道时 SonarQube 错误 ECONNREFUSED的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins 管道错误:java.lang.NoSuchMethodError:找不到这样的 DSL 方法“withSonarQubeEnv”
如何在构建docker镜像时执行SonarQube扫描.NET Core应用
##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube
Azure DevOps 中项目的 Sonarqube 扫描问题