Jenkins Pipe Sh не работает для нескольких команд - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь запустить следующую команду для сканирования основного проекта 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, и без проблем выполнить ту же команду. Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вам необходимо установить путь к инструментам dotnet в конвейере Jenkins.

Попробуйте:

sh "export PATH = $ {PATH}: $ {HOME} /. Dotnet / tools"

перед вашими действиями вконвейер:

sh "dotnet sonarscanner begin / k: projectkey1"
sh "dotnet build"
sh "dotnet sonarscanner end"

0 голосов
/ 16 ноября 2018

Убедитесь, что учетная запись пользователя, используемая для агента в конвейере, та же, в которую вы вошли и установили глобальный инструмент CLI sonarscanner.Поскольку .NET Core Global Tools зависят от пользователя, они не будут доступны, если пользователи разные.

Если вы уверены, что это один и тот же пользователь, то, скорее всего, это вызвано cmd.exeнеобходимо перезапустить .

Если ничего не помогает, вы можете использовать SonarScanner.MSBuild.dll для .NET Core вместо глобального инструмента CLI.

...