在 Jenkins 2 管道中执行 SonarQube 扫描仪
Execute SonarQube Scanner within Jenkins 2 Pipeline
我想在我的 Jenkins 2.x 管道中执行 "SonarQube Scanner" 步骤。
当我尝试在管道语法中创建示例 groovy 时,我只得到以下格式的 groovy 脚本:
step <object of type hudson.plugins.sonar.SonarRunnerBuilder>
有谁知道正确的步骤语法是什么?例如。发布 JUnit 报告看起来像
step([$class: 'JUnitResultArchiver', testResults: ''])
我使用以下版本:
- 詹金斯 2.11
- SonarQube 扫描仪 2.6.1
- SonarQube 插件 2.4.1
我想我明白了。
首先,您必须取回您的 SonarQube 扫描仪工具
def sonarqubeScannerHome = tool name: 'SonarQubeScanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
然后你可以通过Shell调用sonar-scanner:
sh "${sonarqubeScannerHome}/bin/sonar-scanner -e -Dsonar.host.url=..."
相反,您可以只提供声纳运行器的完整路径。如以下片段所示。
def runSonarScan(sonar_url){
withEnv(['SONAR_HOST=' + sonar_url]) {
sh '''
$/opt/sonarqube/sonar-runner-2.4/bin/sonar-runner -e -Dsonar.host.url=${SONAR_HOST}
'''
}
}
如果您有特定的声纳属性,请将它们添加为声纳-project.properties 文件,如此处所示 Sonar Project Properties
env.sonarHome= tool name: 'scanner-2.4', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
withSonarQubeEnv('sonar.installation') { // from SonarQube servers > name
sh "${sonarHome}/bin/sonar-runner -Dsonar.host.url=${SONAR_HOST_URL} -Dsonar.login=${SONAR_AUTH_TOKEN} -Dsonar.projectName=xxx -Dsonar.projectVersion=xxx -Dsonar.projectKey=xxx -Dsonar.sources=."
}
我想在我的 Jenkins 2.x 管道中执行 "SonarQube Scanner" 步骤。
当我尝试在管道语法中创建示例 groovy 时,我只得到以下格式的 groovy 脚本:
step <object of type hudson.plugins.sonar.SonarRunnerBuilder>
有谁知道正确的步骤语法是什么?例如。发布 JUnit 报告看起来像
step([$class: 'JUnitResultArchiver', testResults: ''])
我使用以下版本:
- 詹金斯 2.11
- SonarQube 扫描仪 2.6.1
- SonarQube 插件 2.4.1
我想我明白了。 首先,您必须取回您的 SonarQube 扫描仪工具
def sonarqubeScannerHome = tool name: 'SonarQubeScanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
然后你可以通过Shell调用sonar-scanner:
sh "${sonarqubeScannerHome}/bin/sonar-scanner -e -Dsonar.host.url=..."
相反,您可以只提供声纳运行器的完整路径。如以下片段所示。
def runSonarScan(sonar_url){
withEnv(['SONAR_HOST=' + sonar_url]) {
sh '''
$/opt/sonarqube/sonar-runner-2.4/bin/sonar-runner -e -Dsonar.host.url=${SONAR_HOST}
'''
}
}
如果您有特定的声纳属性,请将它们添加为声纳-project.properties 文件,如此处所示 Sonar Project Properties
env.sonarHome= tool name: 'scanner-2.4', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
withSonarQubeEnv('sonar.installation') { // from SonarQube servers > name
sh "${sonarHome}/bin/sonar-runner -Dsonar.host.url=${SONAR_HOST_URL} -Dsonar.login=${SONAR_AUTH_TOKEN} -Dsonar.projectName=xxx -Dsonar.projectVersion=xxx -Dsonar.projectKey=xxx -Dsonar.sources=."
}