Jenkins pipeline SH сбой с "не удается запустить программу nohup" в windows
У меня есть windows 10, и я хочу выполнить команду sh в Jenkinsfile из конвейера Jenkins, используя bash для Ubuntu для windows, но это не работает
У меня есть следующий этап в моем конвейере Дженкинса:
stage('sh how to') {
steps {
sh 'ls -l'
}
}
сообщение об ошибке :
[C:Program файлы (x86)Jenkinsworkspacepipelineascode] запуск сценария оболочки Не удается запустить программу "nohup" (в каталоге "C:Program файлы (x86)Jenkinsworkspacepipelineascode"): CreateProcess error=2, Le fichier spécifié est introuvable
Я попытался изменить параметр Дженкинса - >исполняемый файл оболочки с
C:WindowsSystem32bash.exe
но та же ошибка...
Как запустить сценарий sh с помощью bash windows 10?
2 ответов
из очень быстрого поиска похоже, что ваша ошибка связана со следующей проблемой:Дженкинс-33708
основная причина выглядит как sh
шаг не поддерживается в Windows. Вы можете использовать bat
или установить Cygwin
например.
тем не менее два решения были предложены в предыдущей ссылке, предлагаю вам сделать следующие шаги :
- установить git-bash
- обеспечить Папка git\bin (т. е.:
C:\Program Files\Git\bin
) находится в глобальном пути поиска, чтобы Дженкинс нашел sh.exe - сделайте nohup доступным для Дженкинса, делая следующее в git-bash (адаптируйте свои пути соответственно) :
- mklink "C:\Program файлы\Git\bin \nohup.exe "" C:\Program файлы\git\usr\bin\nohup.EXE-файл"
- mklink "C:\Program файлы\Git\bin\префикса msys-2.0.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-2.0.DLL-файл"
- mklink "C:\Program Файлы\Git\bin\msys-iconv-2.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-то iconv-2.DLL-файл"
- mklink "C:\Program файлы\Git\bin\msys-intl-8.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-международный-8.DLL-файл"
в зависимости от вашей установки вам, возможно, придется использовать следующие пути:
- mklink "C:\Program файлы\Git\cmd \nohup.exe "" C:\Program Файлы\git\usr\bin\nohup.EXE-файл"
- mklink "C:\Program файлы\Git\cmd\префикса msys-2.0.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-2.0.DLL-файл"
- mklink "C:\Program файлы\Git\cmd\msys-iconv-2.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-то iconv-2.DLL-файл"
- mklink "C:\Program файлы\Git\cmd\msys-intl-8.dll файлы" "C:\Program файлы\ГИТ\ЕГР\бин\префикса msys-международный-8.DLL-файл"
переключение sh на bat сработало для меня - я запускаю Jenkins на Windows. Но только после того, как я решил проблему, вызванную тем, что я не настроил свои инструменты (maven и JDK) правильно в Jenkins.