Я пытаюсь запустить удаленную команду с помощью psexec через Jenkins. Если я запустил команду напрямую через командную строку, я получу ожидаемый результат. Если я запускаю ту же самую команду через Jenkins, кажется, что выводится только первая строка.
Как я могу заставить Jenkins / PSExec / CMD отображать полный вывод stdout? Я пробовал несколько флагов командной строки, таких как запуск PSExec в интерактивном режиме (-i, -i 0, -i 1), и другие параметры, которые кажутся актуальными, и даже те, которые не подходят.
Пример команды:
PsExec.exe -accepteula \server cmd /c ipconfig
Вывод командной строки:
PsExec v2.11 — Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals — www.sysinternals.com Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe30::f175:1634:asf4:756e%12 IPv4 Address. . . . . . . . . . . : 10.128.51.66 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 10.128.51.1 Tunnel adapter isatap.{5EA7E8FB-C491-483E-B24D-3CBDFA2D5619}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : Tunnel adapter Local Area Connection* 11: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : cmd exited on tst-hrm-app03.nexjtest.local with error code 0.
Выход Jenkins:
C:NexJjboss-5.1.0.GAserverall_8280jenkinsworkspaceBuild and Deploy TEST>PsExec.exe -accepteula \server ipconfig PsExec v2.11 — Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals — www.sysinternals.com Windows IP Configuration Connecting to tst-hrm-app03.nexjtest.local… Starting PSEXESVC service on tst-hrm-app03.nexjtest.local… Connecting with PsExec service on tst-hrm-app03.nexjtest.local… Starting ipconfig on tst-hrm-app03.nexjtest.local… ipconfig exited on tst-hrm-app03.nexjtest.local with error code 0.
Я только что тестировал Дженкинса, и у меня это сработало. Вы можете протестировать другие команды, более простые команды, такие как dir. Кроме того, Jenkins имеет тенденцию изменять порядок или stdout / stderr, поэтому я запустил службу PSEXESVC после того, как ipconfig распечатал вывод. И, кстати, если вы хотите получить IP-адрес, почему бы вам не пропинговать машину, используя ее имя (если вы не хотите получить все сетевые карты и MAC-адреса) — person leeman24 schedule 23.06.2016
На самом деле я использовал ipconfig как более простую команду. Фактическая команда будет вызовом сценария сборки и развертывания (который работает, но не отображает вывод). В итоге я использовал альтернативу под названием paexec (которая меня не волнует), но я могу видеть весь вывод. Я бы по-прежнему предпочел использовать psexec, но у меня не хватило вещей, чтобы попробовать. Какую версию вы используете? — person leeman24 schedule 24.06.2016
та же версия psexec, что и вы. Но, возможно, не та версия Дженкинса. — person leeman24 schedule 24.06.2016
Источник: