Мне нужно выполнить скрипт на Window Server 2008. Я использую Jenkins для этого. Код партии (MainCode.bat) равенВыполнение VBS через пакетный скрипт в Jenkins
cd "C:\temp"
cscript install.vbs
Установка.vbs просто устанавливает приложение в определенном каталоге. Экстракт код:
Set wshshell = wscript.CreateObject("WScript.Shell")
strCmd = "cmd /K C:\temp\InstallApp.exe -c -dir C:\ProductDir"
Wshshell.run (strCmd)
WScript.Sleep 2000
' choice of languages
WshShell.SendKeys "1"
WshShell.SendKeys "~"
...
Чтобы проверить это сценарии я побежал MainCode.bat на Window Server 2008 непосредственно и он работал как шарм.
При запуске через Jenkins скрипт не выполняется. Нет сообщения об ошибке, и установка не выполняется.
Via Дженкинс код для вызова MainCode.bat является
call "C:\temp\MainCode.bat".
Что говорит журнал для работы Дженкинса? Почему вы заключаете, что скрипт не выполняется? Как 'MainCode.bat',' install.vbs' и 'InstallApp.exe' копируются в' C: \ temp'? Могут ли команды для 'InstallApp.exe' быть улучшены, поэтому не нужно' SendKeys'? («Реальные» установщики могут использоваться без присмотра, если не молча.) –
@TomBlodget: Спасибо за d Ques. Я не получаю журнал для работы Jenkins, а я получаю консольный вывод, в котором говорится: «C: \ Temp> exit 0 Уведомление о завершающих проектах завершения работы Закончено: УСПЕХ. Я пришел к выводу, что сценарий не выполняется из-за того, что не создан ни этот каталог C: \ ProductDir, ни установщик. Я вручную копирую MainCode.bat, install.vbs и InstallApp.exe в C: \ Temp, а затем выполняю ode через Jenkins. Хотя я написал код для копирования, и он работает. – Kriti
Так что никаких проблем с копированием. Я думаю, что нет другого варианта, кроме ** Sendkeys ** (хотя я пытался сделать динамический код, но его способ осложнился, поэтому я сейчас сосредоточен на ** Sendkeys **). Надеюсь, я ответил на ваш вопрос. :) – Kriti