Jenkins Pipe Sh не работает для нескольких команд
Я пытаюсь запустить следующую команду для сканирования основного проекта dotnet с помощью sonarqube в конвейере Jenkins
sh "dotnet sonarscanner begin /k:projectkey1"
sh "dotnet build"
sh "dotnet sonarscanner end"
Дает мне следующую ошибку
+ dotnet sonarscanner begin /k:projectkey1
No executable found matching command "dotnet-sonarscanner"
Я могу войти на тот же сервер, что и пользователь jenkins, и без проблем выполнить ту же команду. Пожалуйста помоги
1 ответ
Вам необходимо установить путь к инструментам dotnet в конвейере Jenkins.
Пытаться:
sh "export PATH = $ {PATH}: $ {HOME} /. dotnet / tools"
перед вашими шагами в конвейере:
sh "dotnet sonarscanner begin / k: projectkey1"
ш "дотнет билд"
ш "дотнет сонарсканнер энд"
Убедитесь, что учетная запись пользователя, используемая для агента в конвейере, такая же, как вы вошли в систему и установили sonarscanner
Глобальный инструмент CLI на. Поскольку глобальные инструменты.NET Core зависят от пользователя, они не будут доступны, если пользователи разные.
Если вы уверены, что это тот же пользователь, то, скорее всего, это вызвано тем, что cmd.exe необходимо перезапустить.
Если ничего не помогает, вы можете использовать SonarScanner.MSBuild.dll
для.NET Core вместо глобального инструмента CLI.