Автор (ы) оригинала | Митчелл Хашимото [1] |
---|---|
Разработчики) | HashiCorp (Митчелл Хашимото и Джон Бендер) |
Первый выпуск | 8 марта 2010 г . [2] |
Стабильный выпуск | 2.2.18 / 27 июля 2021 г . [3] |
Репозиторий | |
Написано в | Рубин |
Операционная система | Debian , CentOS , Arch Linux , Linux , FreeBSD , macOS и Microsoft Windows |
Доступно в | английский |
Тип | Управление конфигурацией |
Лицензия | Лицензия MIT [4] |
Веб-сайт | www |
Vagrant - это программный продукт с открытым исходным кодом для создания и поддержки портативных виртуальных сред разработки программного обеспечения; [5] например, для VirtualBox , KVM , Hyper-V , контейнеров Docker , VMware и AWS . Он пытается упростить управление конфигурацией программного обеспечения в области виртуализации с целью повышения производительности разработки. Vagrant написан на языке Ruby , но его экосистема поддерживает разработку на нескольких других языках.
Впервые Vagrant был запущен как личный сайд-проект Митчеллом Хашимото в январе 2010 года. Первая версия Vagrant была выпущена в марте 2010 года. В октябре 2010 года Engine Yard объявили, что собираются спонсировать проект Vagrant. Первая стабильная версия, Vagrant 1.0, была выпущена в марте 2012 года, ровно через два года после выхода оригинальной версии. В ноябре 2012 года Митчелл сформировал организацию под названием HashiCorp для поддержки постоянной разработки Vagrant; Бродяга оставалось свободно лицензируемым программным обеспечением . Сейчас HashiCorp работает над созданием коммерческих версий и предоставляет профессиональную поддержку и обучение для Vagrant.
Первоначально Vagrant был привязан к VirtualBox , но в версии 1.1 была добавлена поддержка другого программного обеспечения виртуализации, такого как VMware и KVM , а также серверных сред, таких как Amazon EC2 . [6] Vagrant написан на Ruby , но его можно использовать в проектах, написанных на других языках программирования, таких как PHP , Python , Java , C # и JavaScript . [7] [8] Начиная с версии 1.6, Vagrant изначально поддерживает Docker.контейнеры, которые в некоторых случаях могут служить заменой полностью виртуализированной операционной системы. [9]
Vagrant использует «Provisioners» и «Provider» в качестве строительных блоков для управления средами разработки. Provisioners - это инструменты, которые позволяют пользователям настраивать конфигурацию виртуальных сред. Puppet и Chef - два наиболее широко используемых провайдера в экосистеме Vagrant ( Ansible доступен по крайней мере с 2014 года [10] ). Провайдеры - это сервисы, которые Vagrant использует для настройки и создания виртуальных сред. Поддержка виртуализации VirtualBox , Hyper-V и Docker поставляется с Vagrant, а VMware и AWS поддерживаются через плагины.
Vagrant является оболочкой поверх программного обеспечения для виртуализации и помогает разработчику легко взаимодействовать с поставщиками. Он автоматизирует настройку виртуальных сред с помощью Chef или Puppet , и пользователю не нужно напрямую использовать какое-либо другое программное обеспечение для виртуализации. Требования к машине и программному обеспечению записываются в файл под названием «Vagrantfile» для выполнения необходимых шагов для создания коробки, готовой к разработке. «Коробка» - это формат и расширение (.box) для сред Vagrant, которые копируются на другой компьютер для репликации той же среды. Официальная документация Vagrant [11] подробно описывает установку, использование командной строки и соответствующую конфигурацию Vagrant.