2012-04-27 10 views
20

Chciałbym ustawić instancję Vagrant poza moim katalogiem projektu. Czy istnieje sposób na rozmieszczenie szyn w VM-ie z capistrano, tak jak w moim prawdziwym hoście produkcyjnym?Czy istnieje sposób wdrożenia w VM VM przy użyciu Capistrano?

Próbuję użyć serwer jako "localhost", ale pojawia się:

connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2)) 

Odpowiedz

12

I zdobione. W przypadku, gdy inni dbają o to:

  1. Stworzyłem oddzielny folder i zrobiłem tam cały Vagrant.
  2. Skonfigurowałem plik Vagrant, aby korzystać z sieci pomostowej.
  3. Podpisałem się na moją wirtualną maszynę wirtualną ($ vagrant ssh) i uruchomiłem ifconfig, aby uzyskać mój adres IP.
  4. Dodałem ten adres IP do mojego pliku wdrożenia Capistrano.
  5. mijałem wraz włóczęgi ssh informacji do moich lokalnych configs: vagrant ssh-config >> ~/.ssh/config
  6. Pobiegłem wdrożenia, gdy zostanie wyświetlony monit o hasło SSH, użyłem vagrant

to działało.

+1

można też użyć hostonly sieci. Dwie zalety. Jeden, może przypisać adres IP, więc nie trzeba go szukać za każdym razem. Po drugie, maszyny nie mają dostępu do całej sieci. W przeciwnym razie instrukcje byłyby takie same. – Mikezx6r

19

Można też karmić opcji SSH Vagrant do Kapistrana (większość :ssh_options przejść bezpośrednio do Net :: SSH, http://net-ssh.github.com/ssh/v1/chapter-2.html, patrz „Opcje”), więc nie ma potrzeby, aby twój prawdziwy bałagan ~/.ssh/config

set :user, 'vagrant' 
set :ssh_options, {port: 2222, keys: ['~/.vagrant.d/insecure_private_key']} 

role :web, "localhost" 
... 

(oczywiście, nie powinno być naprawdę używając insecure_private_key lub domyślny root/vagrant haseł chyba prawidłowo zaporę, ale zasada pozostaje taka sama.)

Powiązane problemy