Есть ли способ развернуть на бродячей виртуальной машине с помощью Capistrano?

Я хотел бы установить бродячий экземпляр вне каталога моего проекта. Есть ли способ развернуть рельсы в бродячей виртуальной машине с помощью capistrano, как если бы я был на моем реальном производственном хосте?

Я пытаюсь использовать сервер как localhost, но получаю:

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

person Nathan    schedule 27.04.2012    source источник


Ответы (2)


Вы также можете передать параметры SSH Vagrant в Capistrano (большинство :ssh_options идут напрямую в Net :: SSH, http://net-ssh.github.com/ssh/v1/chapter-2.html, см. «Параметры»), поэтому нет необходимости путать ваш настоящий ~ / .ssh / config

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

role :web, "localhost" 
...

(Конечно, вам не следует использовать insecure_private_key или пароль root / vagrant по умолчанию, если не установлен надлежащий брандмауэр, но принцип остается тем же.)

person oseiskar    schedule 16.02.2013

Я понял. Если другие хотят знать:

  1. Я создал отдельную папку и проделал там всю инициализацию Vagrant.
  2. Я настроил файл Vagrant для использования мостовой сети.
  3. Я вошел в свою бродячую виртуальную машину ($ vagrant ssh) и запустил ifconfig, чтобы получить свой IP-адрес.
  4. Я добавил этот IP-адрес в свой файл развертывания Capistrano.
  5. Я передал информацию о ssh бродяг в свои локальные конфиги: vagrant ssh-config >> ~/.ssh/config
  6. Я запустил развертывание, когда меня попросили ввести пароль SSH, я использовал vagrant

Это сработало.

person Nathan    schedule 27.04.2012
comment
Вы также можете использовать сеть только на хосте. Два преимущества. Во-первых, можно назначить IP-адрес, поэтому не нужно искать его каждый раз. Во-вторых, машины не имеют доступа к сети в целом. В противном случае инструкции были бы такими же. - person Mikezx6r; 05.07.2012