2016-03-04 2 views
0

При инициализации для EC2 я хочу только «приложение» vm. При локализации я хочу «приложение» и «pg». У меня возникли проблемы с записью одного Vagrantfile, который может удовлетворить оба сценария.Multi-provision, multi-vm Vagrantfile vm filtering

Я хотел бы ссылаться на это только с помощью провайдера, как способ заставить его работать:

vagrant up --provider=aws 

против

vagrant up --provider=virtualbox 

AWS будет порождать только приложение. Virtualbox будет создавать приложение и pg.

Я использую бродяга 1.7.2

У меня есть что-то вроде следующего Vagrantfile:

... 
Vagrant.configure(2) do |config| 
    ... 
    config.vm.define "app" do |app| 
     # setup app here 
     ... 
     config.vm.provider :virtualbox do |vbox, override| 
      # setup virtualbox for app vm here 
      ... 
     end 
     ... 
     config.vm.provider :aws do |aws, override| 
      # setup aws for app vm here 
      ... 
     end 
    end 
    ... 
    config.vm.define "pg" do |pg| 
     # setup postgres here 
     ... 
    end 
... 
end 

Edit: выяснены вызова.

ответ

1

Он выглядит хорошо, вы будете делать vagrant up app --provider=aws для AWS, где будет запущен только приложение (и Предоставлен в случае необходимости) или vagrant up, если вы хотите, местные и оба VM будут созданы

Однако Vagrant и поддерживает работу Vagrantfile с несколькими количество провайдеров одновременно, одна вещь, которую вы можете сделать, - создать виртуальную машину/среду для каждого провайдера, а затем переименовать каталог .vagrant после его создания.

+0

Так что я знал, что мы можем поднять их индивидуально. То, что я действительно хотел, было простым вызовом (vagrant up --provider = ) без каких-либо изменений, чтобы он мог быть мертвым простым и недействительным с провайдера. В настоящее время с этим вызовом я создаю несколько vms, где мне нужен только один. –

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