【问题标题】:How to configure sonarcloud analysis for Javascript project using Azure DevOps如何使用 Azure DevOps 为 Javascript 项目配置声纳云分析
【发布时间】:2020-07-12 08:07:42
【问题描述】:

我正在寻找为我们的一个 javascript 项目配置声纳云分析的步骤,并将 Azure DevOps 作为构建平台。

以下链接为我们提供了一些入门信息。

https://www.npmjs.com/package/sonarqube-scanner

【问题讨论】:

  • 你试过什么?什么没有奏效?你做了什么研究?

标签: javascript azure-devops sonarqube sonarcloud


【解决方案1】:

您可以参考以下步骤:

1、创建sonarcloud服务器,并在服务器上创建SonarQube Project并配置Quality Gate。你可以参考this tutorial在azure上创建sonarcloud server。

2,并在您的 azure devops 项目上设置 sonarqube service connection

项目设置-->服务连接(在管道下)--> 新服务连接-- > 选择声纳。请参考here to Get a sonarqube security token

3,转到 azure devops 市场,将 Sonarqube extension 安装到您的 azure devops 组织。

4, Create a build pipeline 来构建您的项目。请查看文档至Build, test, and deploy JavaScript and Node.js apps

5,在项目的根目录中创建一个包含以下内容的 sonar-project.properties 文件。点击here了解更多信息

sonar.projectKey=projectKey
sonar.projectName=projectName
sonar.projectVersion=1.0
sonar.sources=mainsourcefilesfolder #eg. dist
sonar.sourceEncoding=UTF-8
sonar.tests=testcodesourcefolder

5,将以下三个声纳任务添加到管道的末尾(在构建任务之后)。对于以下 yaml 管道中的示例。

注意:SonarQube 仅在 master 分支上工作。请针对主分支运行您的管道。更多信息请查看this thread

- task: Npm@1
  displayName: 'npm run build'
  inputs:
    command: 'custom'
    customCommand: 'run build'

- task: SonarQubePrepare@4
  inputs:
    SonarQube: sonarqubeConnectionName
    scannerMode: CLI
    configFile: sonar-project.properties

- task: SonarQubeAnalyze@4

- task: SonarQubePublish@4

那么在你完成构建管道之后,你应该可以在声纳服务器上看到分析结果。

希望以上有所帮助!

【讨论】:

  • 您能否分享有关为 Sonar 云私有存储库的功能分支设置分析的信息。其次,我们如何配置构建中断任务?
【解决方案2】:

这是@Levi Lu-MSFT 对上述答案的补充。在第三步中,您可以额外安装SonarQube Build Breaker extension

然后您可以在 SonarQube 分析之后在 YAML 中添加一个额外的步骤来运行构建中断测试,以便在 SonarQube 分析失败时管道将中断。否则,即使分析失败,管道也会成功。

您可以使用 Assitant 使用正确的 SonarConnectionName

添加 Breaker 任务或设置,如下所示
- task: sonar-buildbreaker@8
  inputs:
    SonarQube: sonarqubeConnectionName

【讨论】:

    猜你喜欢
    • 2018-01-24
    • 2015-02-16
    • 2015-07-06
    • 2016-03-21
    • 1970-01-01
    • 2013-04-23
    • 2017-05-09
    • 2018-03-30
    • 2017-12-13
    相关资源
    最近更新 更多