SonarQube 分析特定文件

SonarQube Analysing a specific File

我正在尝试使用 sonarqube 分析 azure devops git 存储库中的特定文件 (filename.ts),我想每天 运行 分析它。

到目前为止我已经建立:

  1. A sonarqube project and generated project token in our sonarqube saas.
    
  2. Created a CD release pipeline in Azure DevOps including the predefined sonarqube tasks:
    
        *    prepare analysis on sonarqube (unclear to me how I configure this)
        *    run code analysis (looks as if this doesn't require configuration)
        *    publish quality gate (same belief here that it doesn't require configuration)
    
  3. Identified the repository where the file exists in the azure repo. 
    
  4. I have also discovered the artifact name that the repo's CI pipeline generates.
    
  5. Found a preconfigured sonarqube service connection in Azure DevOps.
    

我现在挠头的地方是确定这些点:

a.  How to tell my CD pipeline where the file is in the azure repo. Should I point it to the file in the Repo? Or should i take it from the CI artifact?

b.  Would the sonarqube project require further configuration so to see the file?

我觉得这个拼图还有更多的部分。任何人都可以指出我正确的道路吗,请包括我可能没有想到的任何其他内容?

首先您需要检查预配置的sonarqube服务连接是否指向您的sonarqube主机。

进入azure devops中的Project settings-->Service connections-->Select预配置的sonarqube service connection-->点击Edit-->检查 Server Url 是否指向您的声纳主机 url.

如果预先配置的sonarqube 服务连接指向不同的sonarqube 主机。您需要为声纳主机创建一个新的声纳服务连接。

分析特定文件:

您可以设置 sonar.inclusions 属性 只分析特定文件。见下图。请查看 document Narrowing the Focus 了解更多信息。

您可以在发布管道中准备分析配置任务的 Additional Properties 字段中配置 sonar.inclusions 属性。

或者您也可以在您的 SonarQube 项目中设置 sonar.inclusions 属性 UI。

To use exclusions to analyze only the specified subset(s) of files in sonar.sources, go to Project Settings > General Settings > Analysis Scope > Files.

  • Source File Inclusions
  • Test File Inclusions