Я следовал за документами, доступными на: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
Однако я не могу заставить его работать.Сначала кажется, что документы нужно обновить, потому что синтаксис в примере неправильный.В последней версии декларативных конвейеров steps
является обязательным внутри тега stage
.Кроме того, ключевое слово def
разрешается только тогда, когда оно находится внутри тега script
.
Кроме того, когда я запускаю Jenkinsfile ниже, я получаю NPE:
java.lang.NullPointerException
at org.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:150)
at org.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:133)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:49)
at hudson.security.ACL.impersonate(ACL.java:290)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:46)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jenkinsfile
pipeline {
environment {
scannerHome = tool 'SonarQube Scanner 3.2.0.1227'
}
agent {
node {
label "master"
}
}
options {
buildDiscarder logRotator(daysToKeepStr: '7')
}
stages {
stage("Sonarqube analysis") {
steps {
withSonarQubeEnv('SonarQube Scanner') {
bat "${scannerHome}/bin/sonar-scanner"
}
}
}
- Jenkins: v2.107.3
- Сканер SonarQube для подключаемого модуля Jenkins: v 2.7.1
- Сканер SonarQube: 3.2.0.1227 (комплектдля автоматической установки в Global Tool Config)
- Запуск задания на главном сервере (Windows Server 2012 R2)