2014-10-09 3 views
0

Я довольно новичок и для VirtualBox, и для Vagrant, но не для Jenkins. У меня есть сборка Jenkins, которая запускается на ведомом Windows, который работает «бродячим» в определенном каталоге. У VM возникла проблема: я пошел в этот каталог и попытался вручную запустить бродягу, и он начал откладывать окно. Изучение, виртуальная папка VirtualBox хранится в/Windows/system32 ... Я посмотрел, и процесс Дженкинса и процесс VirtualBox определенно запускаются как учетная запись пользователя, которая управляет подчиненным jenkins. Если я войду в эту учетную запись и запустил виртуальный бокс, он ищет виртуальные машины в домашнем каталоге учетной записи, хотя!Jenkins/Vagrant/VirtualBox - Virtualbox работает как пользователь системы?

Возможно, я исправлю это, указав оба аккаунта на третье место, но я хотел бы понять, почему это происходит. Любые берущие?

ответ

1

В соответствии с docs, так как VirtualBox 4.0 по умолчанию, где виртуальные машины сохранены, является домашним каталогом текущего системного пользователя. Итак:

  1. C:\Documents and Settings\<username> на ОС Windows
  2. /Users/<username> на Mac OS X
  3. /home/<username> на Linux и Solaris

Взгляните на Default Machine Folder настройках VirtualBox на раба Windows, чтобы увидеть, если кто-либо изменил путь до /Windows/System32

File > Preferences > General > Default Machine Folder 

Кроме того, я предполагаю, что вы используете jenkins vagrant plugin, чтобы создать свою бродячую коробку? (Если нет, вам следует). AFAIK, этот плагин не требует каких-либо системных прав администратора на подчиненном компьютере.

+0

Брандмауэр для Jenkins не поддерживает последние версии ни дженкинсов, ни бродячих, и не поддерживает ведомые машины. Когда я вхожу в качестве учетной записи службы и запускаю Virtualbox, она хранит машины в C:/Users/. Кажется, что когда он работает как служба, виртуальный бокс считает, что он зарегистрирован как система, а не пользователь, но у меня никогда не было никаких других приложений. –

+0

Какую команду вы используете для запуска vb как службы? Что-то вроде 'VBoxHeadless.exe -s {vm_name} -v on' или' VBoxManage.exe 'startvm {uuid} -type headless'? –

+0

Это хороший вопрос: я не знаю. Я запускаю Jenkins как службу, которая выполняет Vagrant, который выполняет виртуальный бокс. Мне нужно будет провести некоторое исследование, чтобы узнать, какая команда использует брандмауэр ... –