Подходит ли Vagrant для локальной среды разработки (а не для локального веб-сервера)?

Насколько я понимаю, Vagrant используется для обслуживания веб-приложений в различных конфигурациях серверов, чтобы имитировать производственные среды во время локальной разработки, но рекомендуется ли использовать Vagrant, чтобы иметь возможность настраивать локальные среды разработки, которые фактически не запускают веб-приложения. сами по себе, но используются для написания кода, установки пакетов npm, компиляции CSS и т. д.?

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

P.S. Эта виртуальная машина Vagrant не будет запускать какие-либо веб-приложения, то есть не будет действовать как веб-сервер, а скорее как изолированная среда для инструментов разработки, таких как vim, gulp, bower и других. Я бы предпочел развернуть отдельные виртуальные машины Vagrant для обслуживания моих веб-приложений.


person Onion    schedule 03.07.2015    source источник
comment
Возможно, я неправильно понимаю, как вы хотите использовать свою виртуальную машину, но я не вижу смысла иметь среду разработки, использовать ее локально и использовать виртуальную машину только для ее копирования с одной машины на другую. Главное (по крайней мере для меня) изолировать среду разработки от локальной среды. Но, может быть, я неправильно понял, в чем заключались твои намерения ...   -  person Guillaume Fache    schedule 03.07.2015
comment
Я хотел бы использовать vagrant для настройки моей локальной среды разработки, но я не уверен, предназначен ли он для такого использования.   -  person Onion    schedule 04.07.2015


Ответы (1)


Использование Vagrant для запуска среды разработки, не включающей запуск веб-сервера, - это то, что я использую довольно часто, особенно, когда для разработки предпочтительнее или требуется другая ОС, отличная от моего хоста. Вероятно, это не самое распространенное использование Vagrant, но вполне допустимое.

Например, один из наших продуктов основан на Windows, поэтому мы используем VisualStudio, но все наши ноутбуки - это Mac. У нас есть универсальное устройство Vagrant Windows, в котором есть IDE, git и веб-сервер. Это делает тривиальным для разработчиков быстро приступить к работе или выбросить свою коробку и заново починить ее.

Хотя это работает довольно хорошо, у одного блока слишком много обязанностей - как IDE, так и веб-сервера. Мы планируем разбить его на отдельные блоки Vagrant, один для среды VisualStudio / dev, а другой - на более производственную, например, конфигурацию веб-сервера. Это также позволит нам повторно использовать окно VisualStudio Vagrant в другом месте, если это необходимо.

В дополнение к примеру с Windows у меня также есть пара Linux-разработчиков. У меня есть ящик разработчика golang Vagrant и ящик разработчика Kerberos. Хотя я мог бы просто настроить Boxen для меня на моем Mac, я чувствовал, что было проще и проще иметь специальные боксы для разработчиков Vagrant.

person Sneal    schedule 06.07.2015
comment
Спасибо за разъяснения. У меня есть виртуальная машина Vagrant под управлением Ubuntu 14.04 LTS, которую я использую в качестве среды разработки (vim + tmux + git и т. Д.). Всякий раз, когда мне нужно работать над проектом, я просто запускаю отдельный экземпляр Vagrant другой виртуальной машины, который настроен на репликацию конкретной ОС и ее конфигурации, необходимой для конкретного проекта. Этот рабочий процесс работает очень хорошо. Причина, по которой я задал этот вопрос, заключалась в том, что у меня было ощущение, что Vagrant предназначен для настройки веб-сервера, а не для локальной среды разработки. Но последнее тоже работает и является настоящей палочкой-выручалочкой при переходе на новую систему. - person Onion; 07.07.2015
comment
Кроме того, Sneal, безопасно ли (с точки зрения безопасности) хранить мои личные ключи SSH, которые я использую в других службах внутри Vagrant VM? Я думаю о совместном использовании папки .ssh на хосте с виртуальной машиной, чтобы я мог использовать ssh для других служб изнутри виртуальной машины. - person Onion; 07.07.2015
comment
Предполагая, что сам образ виртуальной машины безопасен, я не вижу проблем с хранением ваших ключей SSH на самом гостевом компьютере - это то, что я делаю. Кто-то более осведомленный в этой области, вероятно, мог бы найти лучший вариант, который будет более безопасным, но я предполагаю, что по-настоящему параноик создаст новые ключи, специфичные для гостя. - person Sneal; 08.07.2015
comment
Предполагая, что сам образ виртуальной машины безопасен - означает ли это запрет удаленного входа в виртуальную машину? Я разрешаю только хосту войти в мою Vagrant VM. - person Onion; 08.07.2015
comment
Я также рассмотрел возможность использования пересылки агента SSH на моей локальной машине разработки Vagrant. Это безопасно / безопаснее? Вы бы порекомендовали это? Я читал, что перенаправление агента SSH имеет некоторые проблемы с безопасностью, и я не уверен, актуально ли это при взаимодействии с локальной Vagrant VM. - person Onion; 08.07.2015
comment
Я думаю, что в контексте пересылки агента Vagrant SSH было бы безопасно, но я не эксперт. Это похоже на хороший вопрос суперпользователя. - person Sneal; 08.07.2015