The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск инструментария для создания виртуальных окружений Vagrant 1.4

16.12.2013 11:15

Доступен релиз Vagrant 1.4, инструментария для упрощения формирования, установки и управления образами виртуальных машин при разработке и тестировании проектов с использованием различных систем виртуализации. В базовой поставке проект предоставляет средства интеграции с VirtualBox, но через подключение плагинов позволяет использоваться и другие платформы виртулизации (VMware, AWS и т.д.). Код проекта распространяется под лицензией MIT.

Vagrant позволяет без лишних усложнений, используя единый конфигурационный файл, сгенерировать готовое к работе окружение для разработки, удовлетворяющее заданным параметрам. Создаваемые окружения содержат преднастроенные компоненты выбранной операционной системы, позволяют подключаться к ним по SSH и копировать данные через совместные папки (shared folders). Для упрощения развёртывания приложений внутри окружений могут быть предустановлены системы Chef и Puppet. В состав окружений также включается полный комплект для запуска и разработки приложений на языке Ruby. Среди известных компаний, использующих в своей работе Vagrant, отмечаются BBC, O'Reilly, Mozilla и Nokia.

Окружения можно создавать на базе различных операционных систем, в том числе Windows, Mac OS X, Ubuntu, Debian, Red Hat Enterprise Linux, CentOS, Arch Linux и Fedora. Например, для создания полностью готового к работе окружения на базе 32-разрядной сборки Ubuntu 12.04 достаточно выполнить команды:


   vagrant box add precise32 http://files.vagrantup.com/precise32.box
   vagrant init precise32
   vagrant up

Выпуск Vagrant 1.4 не содержит нарушающих совместимость изменений и может быть использован для прозрачной замены прошлых версий без перестроения окружений. Ключевые улучшения новой версии:

  • Поддержка инструментария управления изолированными Linux-контейнерами Docker для поддержания runtime-окружений приложений;
  • В утилите vagrant обеспечен режим "--machine-readable" для вывода результатов выполнения в формате, пригодном для использования в скриптах автоматизации;
  • Обеспечена возможность привязки файлов конфигурации к определённым версиям Vagrant (добавлена директива Vagrant.require_version);
  • Средства для синхронизации содержимого директорий внутри виртуального окружения со внешними системами теперь могут быть реализованы в форме плагинов. В частности, уже подготовлены плагины для синхронизации файлов с использованием NFS, rsync и scp.
  • Добавлена поддержка возобновления загрузки системного образа с прерванной позиции;
  • Добавлена поддержка проверки загруженного системного образа по контрольной сумме, заданной в файле конфигурации или через опцию командной строки;
  • Для использования NFS а VirtualBox больше не требуется назначение статического IP-адреса (теперь можно использовать DHCP);
  • Решены проблемы со стабильностью при параллельном выполнении нескольких команд "vagrant up";
  • В файле конфигурации обеспечена возможность указания нескольких ключей SSH.


  1. Главная ссылка к новости (http://www.vagrantup.com/blog/...)
  2. OpenNews: Новая версия системы управления контейнерной виртуализацией Docker 0.7.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38669-vagrant
Ключевые слова: vagrant, virtual
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:38, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Отлично! Очень полезный инструмент.
     
  • 1.2, Аноним (-), 13:42, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Еще ROSA его использует, на сколько я понял.
     
  • 1.5, Crazy Alex (ok), 15:17, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот, а то навыдумывают "виртуалки для одного приложения", состоящие из своих велосипедов...
     
  • 1.6, ADMIN (?), 15:35, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Vagrant.configure("2") do |config|

        config.vm.box = "saucy64"
        config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-am

        # manually update: vagrant vbguest (vagrant plugin install vagrant-snap vagrant-vbguest)
        if defined? VagrantVbguest
            config.vbguest.auto_update = true
            config.vbguest.iso_path = "/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso"
        end

        config.vm.hostname = "phpdev"

        #if Vagrant::Util::Platform.windows?
        #    config.vm.synced_folder "www", "/var/www", :mount_options => ["dmode=777","fmode=777"], :owner => "vagrant", :group => "vagrant"
        #else
        #    config.vm.synced_folder "www", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=777"] }
        #end

        config.vm.network :private_network, ip: "192.168.10.10"

        config.vm.provision :shell, :inline => "echo \"Europe/Kiev\" | sudo tee /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata"

        config.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
            vb.customize ["modifyvm", :id, "--memory", "512"]
        end

        #config.vm.provision :puppet do |puppet|
        #    puppet.facter = { "fqdn" => "local.phpdev", "hostname" => "phpdev" }
        #    puppet.manifests_path = "manifests"
        #    puppet.manifest_file  = "base.pp"
        #    puppet.module_path = "modules"
        #    puppet.options = "--verbose --debug"
        #end

    end

     
  • 1.7, Наивный чукотский юноша (?), 15:52, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Интересно, пощупаем. Всяко лучше, чем вбивать не всегда очевидные команды для vboxmanage и подобных.
     
  • 1.8, Аноним (-), 17:58, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    тоже его использую, отличная штука. Жаль только, что написан на Ruby :)
     
     
  • 2.23, hummermania (ok), 11:10, 18/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А на каком бы хотелось?
     

  • 1.12, Аноним (-), 21:11, 16/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > vagrant box add precise32 http://files.vagrantup.com/precise32.box

    И какой символ здесь намекает на то что это ubuntu? Что гарантирует что это на самом деле не скриптованный пентест, который ищет уязвимости в моей локалке, сразу ломает их и не отсылает рута от всего до чего дотянулись руки авторам?

     
     
  • 2.13, vadv (?), 00:45, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    box легко создать из любого образа - используйте свои, уважаемый аноним :)
     
  • 2.17, Я (??), 11:57, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> vagrant box add precise32 http://files.vagrantup.com/precise32.box
    > И какой символ здесь намекает на то что это ubuntu?

    А какой не намекает?

     

  • 1.14, Аноним (-), 07:41, 17/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто нибудь может объяснить смысл этого? Не это не брюзжание. Реально пытался пользоваться, но не понял зачем если все и так нормально разворачивается на девелоперской тачке, а для работы с тестовыми виртуалками это (кажется?)  не подходит
     
     
  • 2.15, ADMIN (?), 08:33, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Песочница без вреда системе (виртуальное окружение), деплой из коробки на другие сервера при помощи Chef, Puppet, SaltStack, etc..
     
  • 2.16, Я (??), 11:55, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Если все и так нормально разворачивается на девелоперской тачке

    Далеко не всегда, может отличаться ОС, дистрибутив, версия, окружение. Да и тянуть лишнее не деволоперскую машину не всегда нужно. А еще можно эмулировать SOA.

     
  • 2.18, pilat (ok), 12:57, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Или вот еще пример: у тебя штат программистов и один админ, например. Админ пишет бокс, адаптированный к твоим производственным процессам, а программисты разворачивают себе песочницы из этого бокса.

    Profit:
    - человекочасы (программисты (_каждый_ из них) не тратят время на настройку своих собственных песочниц);
    - однотипные песочницы -- что запустилось у одного программиста, с большой вероятностью запустится у замещающего;
    - можно внедрять в песочницы какие-то собственные наработки;

     

  • 1.19, Аноним (-), 18:05, 17/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не поделитесь UseCase ? Что именно в голом VirtualBox сделать сложнее чем тут ?
     
     
  • 2.20, Я (??), 19:34, 17/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Не поделитесь UseCase ? Что именно в голом VirtualBox сделать сложнее чем тут ?

    Использую совместно с  Intellij Idea, запуск, остановка непосредственно с IDE, весь проект в боксе с кучей специализированных программ библиотек, настроек для подключения нового участника проекта -- достаточно стянуть бокс с файлом настроек по http и на этом всё, у него рабочая среда полностью готова, остается только стянуть последние обновления из hg-репы и приступать к работе.

     

  • 1.21, casufi (ok), 00:54, 18/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А настроить в VirtualBox машину с окружением и сделать ova образ для других это не тоже самое ?
     
     
  • 2.22, ADMIN (?), 07:27, 18/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А настроить в VirtualBox машину с окружением и сделать ova образ для
    > других это не тоже самое ?

    Vagrant автоматизирует эти действия (при большом количестве)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру