/ / Дистанційно запущена команда vmrun на серверній машині від jenkins - windows, ssh, jenkins, віддалений доступ, vmrun

Дистанційно запущена команда "vmrun" на сервері від jenkins - windows, ssh, jenkins, remote-access, vmrun

У мене на сервері Windows 7_x64 Віртуальна машинамашина, що працює на Windows Server 2008 R2. Я хочу запустити цей VM з jenkins (інструмент CI, який виконує пакетний файл, працює на тому ж сервері). Для цього я використовую утиліту vmrun. Коли я біжу

vmrun -T ws -gu *** -gp *** start "vmx file path.vmx"

це виконує штраф у командному рядку сервера (локально). але коли я намагаюся досягти того ж з будь-якої з клієнтських машин (відвідавши сайт jenkins), я отримую

Error: There was an error in communication

Після деякого усунення несправностей я можу сказати vmrun команда не відповідає, коли вона викликається віддалено. але мене це бентежить, бо я маю jenkins який виконує ці команди, встановлений на одному сервері. Я просто веду роботу від тонкого клієнта. як це має значення?

Чи може хтось допомогти мені вирішити цю проблему? Спасибі!

Для довідки:

* Серверна машина (хост): Windows Server 2008 R2

* Віртуальна машина (гість): Windows 7 x64

* Дженкінс: встановлено на одному сервері (хості)

* клієнт: машина віддаленого вікна, отримує доступ до екземпляра jenkins із браузера та запускає роботу

* проблема / помилка: команди vmrun не виконуються.

Відповіді:

1 для відповіді № 1

Дженкінс нічого не виконує "клієнт" (тобто машина з браузером, з якого ви мали доступ до екземпляра Jenkins). Дженкінс буде виконувати тільки що-небудь на Master (те, що ви назвали "серверна машина") або Slave вузли.

Тепер між ними може бути кілька відмінностейзапуск команди з вашого локального командного рядка (на сервері) та через Дженкінса. Основна відмінність полягає в тому, що Дженкінс працює під окремим сеансом, як правило, під окремим користувачем, який може мати різні дозволи, однак це залежить від способу встановлення та налаштування сеансу Дженкінса.

Щоб визначити, чи є різниці в змінних середовищах, введіть set в локальному командному рядку, а потім виконайте Дженкінса просто set на етапі збирання. Порівняйте два. Крім певних змінних Дженкінса, все інше повинно бути однаковим.

Крім того, переконайтеся, що ваш користувач Jenkins (той, хто працює в службі) має дозволи робити все, що ви робите.