如何使用 Azure DevOps 为 Javascript 项目配置 sonarcloud 分析
How to configure sonarcloud analysis for Javascript project using Azure DevOps
我正在寻找为我们的 javascript 项目之一配置 sonarcloud 分析的步骤,使用 Azure DevOps 作为构建平台。
以下链接为我们提供了一些启动信息。
您可以参考以下步骤:
1、创建sonarcloud服务器,并在服务器上创建一个SonarQube项目并配置Quality Gate。可以参考this tutorial在azure上创建sonarcloud服务器。
2,并在您的 azure devops 项目上设置 sonarqube service connection。
项目设置-->服务连接(在管道下)-->新建服务连接-->选择Sonarqube。请参考here to Get a sonarqube security token
3,转到 azure devops marketplace 以将 Sonarqube extension 安装到您的 azure devops 组织。
4, Create a build pipeline to build your project. Please check the document to 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,将以下三个 sonarqube 任务添加到管道的末尾(在构建任务之后)。对于 yaml 管道中的以下示例。
注意:SonarQube 仅在 master 分支上工作。请 运行 你的管道对 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
完成 运行构建管道后,您应该能够在声纳服务器上看到分析结果。
希望以上内容对您有所帮助!
这是对@Levi Lu-MSFT 上述回答的补充。在第 3 步中,您可以额外安装 SonarQube Build Breaker extension.
然后您可以在 SonarQube Analyze 之后在 YAML 中添加一个额外的步骤 运行 构建断路器测试,以便在 SonarQube Analysis 失败时管道将中断。否则,即使分析失败,管道也会成功。
您可以使用 Assitant 添加 Breaker 任务或设置正确的 SonarConnectionName
- task: sonar-buildbreaker@8
inputs:
SonarQube: sonarqubeConnectionName
我正在寻找为我们的 javascript 项目之一配置 sonarcloud 分析的步骤,使用 Azure DevOps 作为构建平台。
以下链接为我们提供了一些启动信息。
您可以参考以下步骤:
1、创建sonarcloud服务器,并在服务器上创建一个SonarQube项目并配置Quality Gate。可以参考this tutorial在azure上创建sonarcloud服务器。
2,并在您的 azure devops 项目上设置 sonarqube service connection。
项目设置-->服务连接(在管道下)-->新建服务连接-->选择Sonarqube。请参考here to Get a sonarqube security token
3,转到 azure devops marketplace 以将 Sonarqube extension 安装到您的 azure devops 组织。
4, Create a build pipeline to build your project. Please check the document to 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,将以下三个 sonarqube 任务添加到管道的末尾(在构建任务之后)。对于 yaml 管道中的以下示例。
注意:SonarQube 仅在 master 分支上工作。请 运行 你的管道对 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
完成 运行构建管道后,您应该能够在声纳服务器上看到分析结果。
希望以上内容对您有所帮助!
这是对@Levi Lu-MSFT 上述回答的补充。在第 3 步中,您可以额外安装 SonarQube Build Breaker extension.
然后您可以在 SonarQube Analyze 之后在 YAML 中添加一个额外的步骤 运行 构建断路器测试,以便在 SonarQube Analysis 失败时管道将中断。否则,即使分析失败,管道也会成功。
您可以使用 Assitant 添加 Breaker 任务或设置正确的 SonarConnectionName
- task: sonar-buildbreaker@8
inputs:
SonarQube: sonarqubeConnectionName