Как исправить сцену для использования с SonarQube в JenkinsPipeline - PullRequest
0 голосов
/ 07 мая 2019

Я настраиваю свой конвейер для сканирования SonarQube в проекте dotnet.Это этап:

stage('SonarQube analysis') {
    withSonarQubeEnv('My Sonar') {
        dotnet "/usr/local/sonar-scanner-msbuild/SonarScanner.MSBuild.dll" begin /k:${SONARQUBEPROJECTKEY}
        dotnet build "src/hub-backend.sln"
        dotnet "/usr/local/sonar-scanner-msbuild/SonarScanner.MSBuild.dll" end 
    }
}

Однако, это терпит неудачу и возвращает эту ошибку:

Obtained Jenkinsfile from git https://<removed>/scm/<removed>/jenkins-stuff.git
Running in Durability level: MAX_SURVIVABILITY
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 30: expecting '}', found 'begin' @ line 30, column 84.
   ild/SonarScanner.MSBuild.dll" begin /k:$

Эта ошибка говорит о том, что она ожидает '}', но я не вижу, где этобыло бы.Вложенность фигурных скобок кажется правильной.

Может кто-нибудь помочь мне понять эту ошибку?

Спасибо, Эрик

1 Ответ

1 голос
/ 08 мая 2019

Я думаю, что вам не хватает sh или bat перед dotnet (или dotnet шаг конвейера jenkins, реализованный некоторым плагином jenkins?).

Предполагая, что вашdotnet - это команда, установленная для вас, пользователя jenkins, на ваших подчиненных Linux.

stage('SonarQube analysis') {
    withSonarQubeEnv('My Sonar') {
        sh "dotnet \"/usr/local/sonar-scanner-msbuild/SonarScanner.MSBuild.dll\" begin /k:${SONARQUBEPROJECTKEY}"
        sh "dotnet build \"src/hub-backend.sln\""
        sh "dotnet \"/usr/local/sonar-scanner-msbuild/SonarScanner.MSBuild.dll\" end"
    }
}
...