尝试建立管道时,SonarQube错误ECONNREFUSED

时间:2020-10-27 07:28:09

标签: azure-devops sonarqube azure-pipelines

错误消息:

2020-10-27T07:09:07.2165374Z ## [节]开始:准备分析 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'失败,错误为: {“代码”:“ ECONNREFUSED”,“ errno”:“ ECONNREFUSED”,“系统调用”:“连接”,“地址”:“ 127.0.0.1”,“端口”:9000} 2020-10-27T07:09:11.1210822Z ## [section]完成:准备分析 SonarQube

它在我的声纳上运行并通过声纳扫描仪进行分析,但是当我尝试运行管道时,我一直收到此错误。

1 个答案:

答案 0 :(得分:0)

您需要确保可以从devops管道代理访问您的声纳服务器。如果您的声纳服务器托管在本地服务器上,则必须创建一个self-hosted agent并在此自托管代理上运行管道。这是因为云代理无法访问本地声纳服务器。

您可以检查以下步骤以使用devops管道为您的项目配置sonarcloud分析。

1,然后在您的azure devops项目中设置sonarqube service connection

项目设置->服务连接(在管道下)->新服务连接->选择Sonarqube。请参考here以获得声纳安全令牌

enter image description 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 PropertiesextraProperties)字段中。点击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了解更多信息。