Vagrant, запускающий виртуальную машину с помощью vagrant up | |
Оригинальный автор (ы) | |
---|---|
Разработчик (и) | HashiCorp (Митчелл Хашимото и Джон Бендер) |
Первый выпуск | 8 марта 2010 г.; 10 лет назад (08.03.2010) |
Стабильный выпуск | 2.2.10 / 24 августа 2020 г.; 2 месяца назад (2020-08-24) |
Репозиторий | Бродячий репозиторий |
Написано на | Ruby |
Операционная система | Debian, CentOS, Arch Linux, Linux, FreeBSD, macOS и Microsoft Windows |
Доступно на | английском языке |
Тип | Управление конфигурацией |
Лицензия | Лицензия MIT |
Веб-сайт | www.vagrantup.com |
Vagrant - это открытый исходное программное обеспечение продукт для создания и поддержки портативных виртуальных сред разработки программного обеспечения; например, для VirtualBox, KVM, Hyper-V, контейнеров Docker, VMware и AWS. Он пытается упростить управление конфигурацией программного обеспечения для виртуализаций, чтобы повысить продуктивность разработки. Vagrant написан на языке Ruby, но его экосистема поддерживает разработку на нескольких языках.
Vagrant был впервые запущен как личный побочный проект Митчеллом Хашимото в январе 2010. Первая версия Vagrant была выпущена в марте 2010 года. В октябре 2010 года Engine Yard объявили, что собираются спонсировать проект Vagrant. Первая стабильная версия, Vagrant 1.0, была выпущена в марте 2012 года, ровно через два года после выхода оригинальной версии. В ноябре 2012 года Митчелл сформировал организацию под названием HashiCorp, чтобы поддерживать постоянную разработку Vagrant; Vagrant оставался с разрешенной лицензией бесплатным программным обеспечением. Сейчас HashiCorp работает над созданием коммерческих версий и предоставляет профессиональную поддержку и обучение для Vagrant.
Vagrant изначально был привязан к VirtualBox, но в версии 1.1 добавлена поддержка другого программного обеспечения виртуализации, такого как VMware и KVM, а также для серверных сред например Amazon EC2. Vagrant написан на Ruby, но его можно использовать в проектах, написанных на других языках программирования, таких как PHP, Python, Java, C# и JavaScript. Начиная с версии 1.6, Vagrant изначально поддерживает контейнеры Docker, которые в некоторых случаях могут служить заменой полностью виртуализированной операционной системы.
Vagrant использует "Provisioners" и «Провайдеры» как строительные блоки для управления средами разработки. Provisioners - это инструменты, которые позволяют пользователям настраивать конфигурацию виртуальных сред. Puppet и Chef - два наиболее широко используемых провайдера в экосистеме Vagrant (Ansible доступен по крайней мере с 2014 года). Провайдеры - это сервисы, которые Vagrant использует для настройки и создания виртуальных сред. Поддержка виртуализации VirtualBox, Hyper-V и Docker поставляется с Vagrant, а VMware и AWS входят в поддерживается через плагины.
Vagrant располагается поверх программного обеспечения виртуализации как оболочка и помогает разработчику легко взаимодействовать с поставщиками. Он автоматизирует настройку виртуальных сред с помощью Chef или Puppet, и пользователю не нужно напрямую использовать какое-либо другое программное обеспечение для виртуализации. Требования к машине и программному обеспечению записываются в файл под названием «Vagrantfile» для выполнения необходимых шагов для создания коробки, готовой к разработке. «Box» - это формат и расширение (.box) для сред Vagrant, которые копируются на другой компьютер для репликации той же среды.