Сбой SonarQube SonarScanner.MSBuild для DotNet Core 2

Я пытаюсь настроить сканер SonarQube как часть конвейера Jenkins, работающего на сервере Ubuntu.

Я использую сканер версии 4.2.0.1214, загруженный с: https://github.com/SonarSource/sonar-scanner-msbuild/releases/download/4.2.0.1214/sonar-scanner-msbuild-4.2..0.1214-netcoreapp2.0.zip

Команды, которые я запускаю:

dotnet /var/lib/jenkins/sonar-scanner/SonarScanner.MSBuild.dll begin /k:"SUP:ThreadManager" /n:"SUP:Thread Manager" /v:"1.0"
dotnet build
dotnet /var/lib/jenkins/sonar-scanner/SonarScanner.MSBuild.dll end

Первые две строки работают нормально, но последняя строка выдает ошибку разрешения следующим образом:

05:30:58 + dotnet /var/lib/jenkins/sonar-scanner/SonarScanner.MSBuild.dll end
05:30:58 SonarScanner for MSBuild 4.1.1
05:30:58 Using the .NET Core version of the Scanner for MSBuild
05:30:58 Default properties file was found at /var/lib/jenkins/sonar-scanner/SonarQube.Analysis.xml
05:30:58 Loading analysis properties from /var/lib/jenkins/sonar-scanner/SonarQube.Analysis.xml
05:30:58 Post-processing started.
05:30:58 SONAR_SCANNER_OPTS is not configured. Setting it to the default value of -Xmx1024m
05:30:58 Calling the SonarQube Scanner...
05:30:58 
05:30:58 Unhandled Exception: System.ComponentModel.Win32Exception: Permission denied
05:30:58    at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd)
05:30:58    at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
05:30:58    at System.Diagnostics.Process.Start()
05:30:58    at SonarScanner.MSBuild.Common.ProcessRunner.Execute(ProcessRunnerArguments runnerArgs)
05:30:58    at SonarScanner.MSBuild.Shim.SonarScannerWrapper.ExecuteJavaRunner(AnalysisConfig config, IEnumerable`1 userCmdLineArguments, ILogger logger, String exeFileName, String propertiesFileName)
05:30:58    at SonarScanner.MSBuild.Shim.SonarScannerWrapper.<>c__DisplayClass6_0.<Execute>b__0()
05:30:58    at SonarScanner.MSBuild.Shim.SonarScannerWrapper.Execute(AnalysisConfig config, IEnumerable`1 userCmdLineArguments, ILogger logger)
05:30:58    at SonarScanner.MSBuild.PostProcessor.MSBuildPostProcessor.InvokeSonarScanner(IAnalysisPropertyProvider cmdLineArgs, AnalysisConfig config)
05:30:58    at SonarScanner.MSBuild.PostProcessor.MSBuildPostProcessor.Execute(String[] args, AnalysisConfig config, ITeamBuildSettings settings)
05:30:58    at SonarScanner.MSBuild.BootstrapperClass.PostProcess()
05:30:58    at SonarScanner.MSBuild.BootstrapperClass.Execute()
05:30:58    at SonarScanner.MSBuild.Program.Execute(String[] args, ILogger logger)
05:30:58    at SonarScanner.MSBuild.Program.Main(String[] args)
05:30:58 Aborted (core dumped)

Я получаю ту же ошибку независимо от того, какого пользователя я использую для ее запуска. Запуск с использованием sudo также дает ту же ошибку.

Любая помощь будет здорово, спасибо.


person Wilko    schedule 19.04.2018    source источник
comment
Похоже, это связано с stackoverflow.com/questions/48605912/   -  person Val    schedule 19.04.2018
comment
Это также может быть вызвано недостаточными разрешениями для системного временного каталога или антивирусного программного обеспечения (хотя это менее вероятно в Linux)   -  person Val    schedule 19.04.2018
comment
У меня такая же проблема, и это происходит и под root, поэтому разрешения не связаны   -  person Vroomfundel    schedule 02.05.2018


Ответы (1)


Вот что это сделало для меня:

chmod 777 /opt/sonar-scanner-msbuild-4.2.0.1214-netcoreapp2.0/ -R

chmod -x, вероятно, также подойдет, если вы хотите повысить безопасность. Конечно, вам нужно будет заменить путь на ваш фактический путь к SonarScanner.

person Vroomfundel    schedule 02.05.2018