2015-05-01 3 views
1

У меня возникли проблемы с пониманием бродячего рабочего процесса со своего сайта.Vagrant Workflow - бродячие ssh, бродячие разрушения, бродячие команды

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

Позже я должен был пойти получить обед, так что я сделал

vagrant destroy 

Когда я вернулся в тот же каталог, я побежал

vagrant up 

Тогда я сделал

vagrant ssh 

последовали от

cd /vagrant 

, когда я получаю здесь я бег

rails s 

и я получаю следующее сообщение об ошибке:

The program 'rails' is currently not installed. You can install it by typing: 
sudo apt-get install rails 

не должен работает бродягу до помнит все работы я уже сделал? Или мне нужно перезапускать с нуля и каждый раз восстанавливать все свои драгоценные камни? Я что-то упускаю?

+0

Вы «бродяжничают» свою предыдущую работу, так что вы начинаете с нуля. В следующий раз просто «бродяга», когда вы хотите остановить виртуальную машину. – number5

ответ

4

vagrant destroy делает буквально то, что говорит команда - уничтожает запущенную виртуальную машину, полностью с образами дисков. Каждое изменение (т. Е. Установка программного обеспечения, результаты работы bundle install и т. Д.) Теряется, кроме изменений, произошедших в каталоге /vagrant.

Если вы хотите просто остановить виртуальную машину без разрушения образов дисков - вместо этого вы должны использовать vagrant halt (или просто отключите виртуальную машину, как вы делали бы с реальным сервером, то есть выпустив poweroff).

Общий рабочий процесс для развертывания бродячего питания VM изложен в документации, что вы распространяете Vagrantfile наряду с источниками, что включает в себя раздел (config.vm.provision) провизии, который делает вещи вы описали - установку дополнительного программного обеспечения не в комплекте (например, Rails, gems), настройка баз данных и т. д. Его можно реализовать несколькими способами, начиная с простого запуска сценария оболочки (с последовательными командами для выполнения), вплоть до использования высокопроизводительных систем управления конфигурацией, таких как Chef, Puppet, CFEngine, Ansible и т. Д.

Временный перерыв (например, обед) обычно не требуется ire даже останавливает виртуальную машину, не уничтожая ее. Даже полноценная виртуальная машина, работающая под управлением VirtualBox/VMware/KVM с однопользовательским Rails-приложением, вряд ли потребляет много ресурсов для беспокойства.

+1

Я бы пошел на один шаг дальше, чем @GreyCat, и сказал, что выполнение вашей настройки через посредников - это не просто «общий рабочий процесс», а фактически целая точка Vagrant. :) Ваша цель должна состоять в том, чтобы вы могли перейти с чистой машины на полностью настроенную среду разработки, просто выполнив «git clone your_repo && vagrant up && vagrant ssh». –

+0

Вы будете плакать, когда ваш vm будет поврежден, уничтожен или потерян. В этом весь смысл: ваша цель должна состоять в том, чтобы вы могли перейти от чистой машины к полностью сконфигурированной среде Dev, просто бродячая. – blacklabelops

Смежные вопросы