Hudson cmd.exe работает как - PullRequest
       3

Hudson cmd.exe работает как

0 голосов
/ 06 августа 2010

Откуда hudson CI заставляет пользователя запускать cmd.exe?Я пытаюсь запустить и остановить некоторые удаленные службы на различных ведомых устройствах, и требуются специальные учетные данные, отличные от того, что использует Hudson.Я не могу найти место для переопределения пользователя.Я пытался запустить сервер от имени разных пользователей, но это ничего не меняет.Есть еще идеи?

Ответы [ 3 ]

2 голосов
/ 06 августа 2010

Поскольку вы хотите запускать и останавливать службы на удаленном компьютере, вам необходимо войти в систему с этими учетными данными на удаленном компьютере, поскольку я не нашел способа запустить и остановить службу на удаленном компьютере.

Есть разные способы сделать это.Вы можете создать ведомое устройство, которое будет работать на удаленных компьютерах с правильными учетными данными.Вы даже можете создать более одного ведомого для одной и той же машины без каких-либо проблем, чем использовать разные учетные данные для одной и той же машины.Затем они могут запустить команды net stop и net start.

Вы также можете использовать плагин SSH .Это позволяет вам настраивать ssh-скрипты до и после сборки.Вам просто нужен ssh-сервер на машине с Windows.Пароль для подключения будет храниться в зашифрованном виде.

Используйте инструмент запятой.До сих пор я не нашел утилиту Windows на борту, которая могла бы выполнить сценарий входа на удаленную машину.Я бы использовал plink для этой задачи.plink - это скриптовая версия putty.Putty поддерживает разные типы соединений.Таким образом, вы также можете использовать встроенный сервис telnet (не рекомендуется, так как telnet не шифрует соединение).Недостатком является то, что у вас будет незашифрованный пароль в конфигурации задания.

0 голосов
/ 06 августа 2010

Вы не говорите, как ваши подчиненные подключены к Hudson, но я предполагаю, что это происходит через службу "hudson slave", так как это, вероятно, самый популярный способ подключения подчиненных Windows.CMD.EXE запускается с теми же разрешениями, что и пользователь, запускающий службу.Это может быть проверено:
1. запустите services.msc
2. дважды щелкните по hudson-slave service
3. перейдите на вкладку Log On

По умолчанию, ведомая служба запускаетсякак «LocalSystem», которая является самой мощной учетной записью в системе.Он должен иметь возможность делать все, что вам нужно.(т.е. запуск / остановка услуг)

0 голосов
/ 06 августа 2010

У нас была похожая проблема, и я прибег к использованию PsExec. В моих интересах, наши машины существуют в отдельной локальной сети, в пределах 2 межсетевых экранов, так что я был в порядке с паролями незашифрованного пароля Я также исследовал SSH с Putty, который, казалось, работал, но не так просто.

Если кто-то может помочь с однострочной командой runas, это тоже может сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...