在Jenkins 2 Pipeline中执行SonarQube扫描仪

Chr*_*ter 4 groovy jenkins jenkins-pipeline sonarqube-scan

我想在Jenkins 2.x管道中执行"SonarQube扫描仪"步骤.

当我尝试在管道语法中创建一个示例groovy时,我只获得了以下格式的groovy脚本:

step <object of type hudson.plugins.sonar.SonarRunnerBuilder>
Run Code Online (Sandbox Code Playgroud)

有谁知道什么是正确的步骤语法?例如发布JUnit报告

step([$class: 'JUnitResultArchiver', testResults: ''])
Run Code Online (Sandbox Code Playgroud)

我使用以下版本:

  • 詹金斯2.11
  • SonarQube扫描仪2.6.1
  • SonarQube插件2.4.1

Chr*_*ter 8

我想我明白了.首先,您必须检索SonarQube扫描仪工具

def sonarqubeScannerHome = tool name: 'SonarQubeScanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
Run Code Online (Sandbox Code Playgroud)

然后你可以通过Shell调用声纳扫描仪:

sh "${sonarqubeScannerHome}/bin/sonar-scanner -e -Dsonar.host.url=..."
Run Code Online (Sandbox Code Playgroud)