2016-05-18 2 views
8

Как запустить виртуальную виртуальную машину с помощью Vagrant внутри Travis-CI?Запуск Vagrant VM внутри Travis-CI

Я знаю, что запуск VM внутри виртуальной машины иногда не поддерживается, но там была reported successes с этой конкретной конфигурацией.

Я пытаюсь настроить сервер непрерывной интеграции для запуска unittests для моего sysadmin tool, чтобы протестировать его в разных операционных системах и версиях Python. Он использует Tox для обработки инициализации различных виртуальных сред Python и Pytest для запуска тестов и переноса Vagrant для настройки и разворота виртуальной виртуальной машины. Он прекрасно работает на моем Ubuntu 14 локального хоста, но в Travis, Бродячие раз, пытаясь загружать Virtualbox VM:

==> default: Importing base box 'ubuntu/trusty64'... 
==> default: Matching MAC address for NAT networking... 
==> default: Checking if box 'ubuntu/trusty64' is up to date... 
==> default: Setting the name of the VM: functional_tests_default_1463515960654_71459 
==> default: Clearing any previously set forwarded ports... 
==> default: Clearing any previously set network interfaces... 
==> default: Preparing network interfaces based on configuration... 
    default: Adapter 1: nat 
==> default: Forwarding ports... 
    default: 22 => 2222 (adapter 1) 
==> default: Running 'pre-boot' VM customizations... 
==> default: Booting VM... 
==> default: Waiting for machine to boot. This may take a few minutes... 
    default: SSH address: 127.0.0.1:2222 
    default: SSH username: vagrant 
    default: SSH auth method: private key 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    default: Warning: Connection timeout. Retrying... 
    ... 
    The job exceeded the maximum time limit for jobs, and has been terminated. 

Поскольку это не дает мне никаких подробностей, я не знаю, как диагностировать проблему. Я попытался включить больше вывода с export VAGRANT_LOG=DEBUG;, но это не показало ничего полезного и превысило максимальный размер журнала Travis. Я также попытался увеличить тайм-аут и выделение памяти в 1 ГБ, но ни один из них не помог.

Единственная странность я заметил, что я не был в состоянии объяснить, это сообщение от sudo apt-get -y install -q virtualbox-ose-dkms virtualbox --fix-missing:

Module build for the currently running kernel was skipped since the 
kernel source for this kernel does not seem to be installed. 

Однако непосредственно перед этим, команда для установки исходного кода ядра успешно:

sudo apt-get -y --force-yes install linux-headers-`uname -r` 

Как запустить Vagrant/Virtualbox VM внутри Travis-CI?

+0

Ссылка «сообщенных успехов» мертва, вот новый URL: http://www.lewuathe.com/travisci/vagrant/vagrant-in-travisci.html –

ответ

7

К сожалению, это не поддерживается Travis-CI, и в ближайшем будущем этого не планируется. Проверьте следующий билет: https://github.com/travis-ci/travis-ci/issues/6060

Поскольку Travis запускает вашу сборку в виртуализованном контейнере (OpenVZ), вы можете попробовать с 32-разрядной виртуальной машиной. Это может сработать, но я не тестировал.

+0

Это очень медленно, но с использованием 32-разрядного Ubuntu ящик внутри Travis-CI, похоже, работает. Благодарю. – Cerin

Смежные вопросы