我正在寻找步骤来配置我们的javascript项目之一的声纳云分析,使用Azure DevOps作为构建平台。
下面的链接已经给了我们一些信息来开始。
发布于 2020-04-01 08:35:49
您可以参考以下步骤:
1、创建声纳云服务器,并在服务器上创建SonarQube项目并配置Quality。您可以参考在azure上创建声呐云服务器的本教程。
2 .并在您的天蓝色开发项目上设置声纳服务连接。
settings-->Service 项目连接(在管道下)-> New service connection->选择Sonarqube。请参阅在这里得到一个声纳安全令牌
3 .到蔚蓝开发市场将Sonarqube扩展安装到您的azure组织中。
4、创建构建管道来构建您的项目。请把文件查到构建、测试和部署JavaScript和Node.js应用程序。
5 .创建一个声纳-project.properties文件,在项目的根目录中包含以下内容。单击这里获取更多信息
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只在主分支上工作。请在主分支上运行您的管道。有关更多信息,请查看这条线。
- 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
然后,在运行完构建管道之后,您应该能够在声纳服务器上看到分析结果。
希望上面有帮助!
发布于 2020-10-27 04:06:19
这是对@Levi Lu-MSFT的上述答复的补充。在第三步中,您可以另外安装SonarQube构建断路器扩展。
然后,您可以在YAML中添加一个额外的步骤,在SonarQube分析之后运行构建器测试,以便管道在SonarQube分析失败时中断。否则,即使分析失败,管道也将是成功的。
您可以使用辅助程序添加断路器任务或设置,如下所示,并使用正确的SonarConnectionName
- task: sonar-buildbreaker@8
inputs:
SonarQube: sonarqubeConnectionName
https://stackoverflow.com/questions/60956246
复制相似问题