Vagrant
Теория: Жизненный цикл окружения Vagrant
Как происходит работа с проектом в Vagrant? Здесь важно разделить то, за что Vagrant отвечает и то, где он не участвует. Начнем с кода. Работа с ним происходит снаружи. Вам будет нужно установить, как минимум, git и редактор кода. Затем все по обычной схеме: клонируем репозиторий (в который добавлен Vagrantfile), открываем его в редакторе и начинаем менять.
Vagrant вступает в дело, тогда, когда мы хотим запустить этот код, например для выполнения автоматизированных тестов или ручного тестирования. Для этого мы должны попасть внутрь виртуальной машины и выполнять команды там.
Для входа внутрь используется команда vagrant ssh. После выполнения терминал подключается к машине в домашнюю директорию пользователя по умолчанию. Традиционно в Vagrant это пользователь с именем vagrant.
Здесь можно осмотреться и даже сделать что-нибудь страшное, все это останется внутри машины, которую легко пересоздать снаружи. Vagrant убирает страх экспериментов, так как легко восстановиться.
Возникает вопрос, каким образом код снаружи оказывается внутри машины и где его найти? Vagrant автоматически "прокидывает" его внутрь машины в директорию /vagrant. Поэтому первым делом после vagrant ssh нужно выполнить переход cd /vagrant:
Содержимое этой директории аналогично директории проекта вне виртуальной машины. Vagrant выполняет двухстороннюю синхронизацию данных. Изменять их можно как снаружи так и внутри, в результате везде будут одни и те же файлы.
Теперь мы можем устанавливать любые библиотеки, зависимости, запускать на выполнение тесты и так далее.



