У мене на сервері 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 (той, хто працює в службі) має дозволи робити все, що ви робите.