Я пытаюсь запустить два процесса из задания Jenkins с помощью пакетной команды Windows:
REM start Selenium drivers if needed
cd "%WORKSPACE%\Uca.SeleniumTests"
start "" powershell -ExecutionPolicy unrestricted -file ./startDrivers.ps1
startDrivers.ps1
$isGeckoDriverProcessOn = Get-Process geckodriver -ErrorAction SilentlyContinue
if(!$isGeckoDriverProcessOn){
Write-Host 'Starting geckodriver'
Start-Process -FilePath "geckodriver.exe"
}
#$startChromeDriver = (Get-Item -Path ".\" -Verbose).FullName
$isChromeDriverProcessOn = Get-Process chromedriver -ErrorAction SilentlyContinue
if(!$isChromeDriverProcessOn){
Write-Host 'Starting chromedriver'
Start-Process -FilePath "chromedriver.exe"
}
Это прекрасно работает при запуске из командной строки, но процессы сразу же завершаются при запуске из Jenkins, несмотря на попытки запуска в другом сеансе (start
).
Подчиненный Jenkins запускается из командной строки, и я вижу, что окна процесса отображаются в течение полсекунды. Мне кажется, что Дженкинс убивает сеансы командной строки и эти процессы вместе с ним.
Вопрос: Как выполнить пакетную команду Windows в Jenkins, которая не была убита?