#batch-file #jenkins #psexec
#пакетный файл #дженкинс #psexec
Вопрос:
"C:TempPsToolsPsExec.exe" -accepteula -i \ukvc-miu29-12 -u DomainUsername -p Password "C:Testing1testing.bat"
Приведенный выше код — это то, что вводится в раздел Дженкинс: Сборка -> Выполнить пакетную команду Windows.
`C:Testing1testing.bat завершилось на ukvc-miu29-12 с кодом ошибки 1.
C:Program Files (x86) Jenkins jobs Run comparison script workspace> завершите 1 этап сборки ‘Выполнить пакетную команду Windows’, помеченную как завершенная ошибка: СБОЙ`
В основном пытаюсь получить доступ к пакетному файлу на моей виртуальной машине с помощью инструмента Psexec и запустить его там самостоятельно.
Приветствуется любая помощь, и мы быстро ответим на любые предложения, спасибо!
Ответ №1:
Я не знаком с аргументом -i там, но я думаю, что вам не хватает -W
аргумента здесь-
Попробуйте это:
"C:TempPsToolsPsExec -u USERNAME -p PASSWORD -w "C:Testing1testing.bat"
Также вам может оказаться полезной эта ссылка:http://ss64.com/nt/psexec.html
Комментарии:
1. Пробовал это, все еще получаю ошибку 1, я не могу понять, почему: (
2. 🙁 — извините, я хотел бы вам помочь — но код 1 — это код возврата, потому что ваш psexec не удался — поэтому я бы попробовал просто запустить этот скрипт с вашего хост-компьютера Jenkins из командной строки и посмотреть, какие другие выходные данные вы видите и на что он жалуется … обновите, если у вас есть дополнительная информация.
3. Итак, наконец-то разобрался с причинами сбоя PSEXEC у меня (по крайней мере, я так думаю, видя, как он возвращает мне 0 вместо 1), я не полностью указал путь к пакетному файлу, который я хотел запустить. Следующее, кажется, сделало свое дело за меня:
"C:TempPSToolsPsExec.exe" -accepteula \ukvc-miu29-12 cmd /c "\ukvc-miu29-12c$Jenkinstest.bat"
Однако теперь, похоже, что, хотя это, кажется, прошло успешно, ничего не произошло. :/4. Хорошо, да, как и предполагалось, ошибка psexec 🙂 — звучит как прогресс — теперь попробуйте и проверьте файл bat, запустите его самостоятельно и посмотрите, случайно ли вы либо ничего не выводите из этого, либо используете вывод из psexec …. обычно ‘ECHO ON’ в начале пакетного файла должно выдавать некоторый вывод…
5. Таким образом, запуск пакетного файла сам по себе работает на удаленной машине. Для запуска требуется около 20 секунд. Проблема в том, что когда я запускаю пакетный файл через cmd, он заполняет мою папку logs текстовым файлом, но выполнение этого через Jenkins не приводит к такому же поведению. добавление echo в начале моего пакетного файла просто выводит строку кода в пакетном файле (дженкинс, похоже, не придирается к этому). Возможно, это как-то связано с отсутствием ожидания ответа, из-за которого ничего не происходит. Изучу различные параметры и посмотрю, изменит ли добавление какого-либо из них ситуацию.