azure - Azure DevOps 中的 Sonar 扫描仪错误 - ERROR : Not authorized. 请检查属性 sonar.login 和 sonar.password

标签 azure azure-devops sonarqube sonarscanner build-pipeline

我正在尝试将 SonarQube 与 Azure Devops 集成。我已在 SonarQube 管理员中完成配置(管理 > 配置 > 常规设置 > ALM 集成,选择 Azure DevOps 选项卡,然后单击创建配置按钮)并在 Azure Devops 中设置服务连接。还配置了 SonarScanner 属性文件。

sonar.projectkey= Project
sonar.projectName= Project name is given
sonar.login = token from SonarQube

使用 cmd 命令“sonar-scanner -h”验证 Sonar 扫描仪。 sonar-scanner.bat 文件也已成功执行。 在 Azure devops 构建管道中,已配置分支 - 准备分析配置、运行代码分析和发布质量门结果。当我们运行管道时,它失败并出现以下错误。

  ERROR: Not authorized. Please check the properties sonar.login and sonar.password.



 ERROR: Error during SonarScanner execution
    
ERROR: Not authorized. Please check the properties sonar.login and sonar.password.

INFO: ------------------------------------------------------------------------

##[error]ERROR:

ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.

ERROR:

下面是日志的最后几行

“GET /batch/file?name=sonar-scanner-engine-shaded-9.0.1.46107-all.jar HTTP/1.1” 200 - “-” “ScannerCLI/4.6.1.2450” “AXtcvnCkoRmL3dzQAADB”



“GET /api/settings/values.protobuf HTTP/1.1” 401 - “-” “ScannerCLI/4.6.1.2450” “AXtcvnCkoRmL3dzQAADC”

请帮助我解决上述错误。提前致谢。

最佳答案

终于,我成功了。

事实证明,您不需要将 sonar.login = token 放入 sonar-project.properties 中。

您需要做的是:

  • generate the token在 Sonar 一侧;
  • 将其放置到 Azure DevOps 上的服务连接属性中:在 Azure DevOps 项目中,转到设置 > 服务连接,然后选择用于连接到 Sonar 的服务连接(如果您不这样做)有的话,也许您应该创建一个。它应该是 SonarQube 类型)。因此,在这种类型的服务连接的属性中,有一个 token 的占位符,您不会错过它。
  • 最后,如果您的服务连接名为 SonarConnection,并且您的 Sonar 项目 key 为 My-Project,那么您的 Azure管道将如下所示:
trigger:
- master
- staging
- dev

pool:
  vmImage: ubuntu-latest

steps:
- task: SonarQubePrepare@5
  inputs:
    SonarQube: 'SonarConnection'
    scannerMode: 'CLI'
    configMode: 'file'
    projectName: 'My Project'
    projectKey: 'My-Project'
- task: SonarQubeAnalyze@5
- task: SonarQubePublish@5
  inputs:
    pollingTimeoutSec: '300'

(我还通过 Let'sEncrypt 证书使用 TLS 连接到我的 SonarQube 服务器。)

关于azure - Azure DevOps 中的 Sonar 扫描仪错误 - ERROR : Not authorized. 请检查属性 sonar.login 和 sonar.password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68844897/

相关文章:

Azure管道: 2 build are triggered for PR

java - 如何在 SonarQube 4.5 插件中注册自定义规则?

c# - Sonarqube v.4 TFS 任务 "Publish Analysis Result"抛出错误 "Could not fetch metrics"

sql - 在 Azure SQL 数据库中使用 "INSERT INTO"SQL 查询时出错

azure - Windows Azure 网站上的 DotNetNuke 性能

azure - 使用 Azure 通过 URL 呈现 MP3 文件

azure - 作为 Azure DevOps 发布管道的一部分从应​​用服务中删除文件

azure - 有没有办法使用 Azure Devops 将 yaml 构建管道转换为发布管道?

java - IssuableSubscriptionVisitor 和 BaseTreeVisitor

c# - 如何在C#中获取Azure表存储中的所有行?