2012-04-27 14 views
20

Me gustaría configurar una instancia vagabunda fuera del directorio de mi proyecto. ¿Hay alguna manera de implementar raíles en la máquina virtual vagabunda con capistrano como lo haría con mi servidor de producción real?¿Hay alguna manera de implementar en una VM vagabunda con Capistrano?

Estoy tratando de utilizar el servidor como "localhost", pero me sale:

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

Respuesta

12

lo he descubierto. En caso de que otros se preocupen por saber:

  1. Creé una carpeta separada e hice todo el Vagrant init allí.
  2. Configuré el archivo Vagrant para usar una red en puente.
  3. Firmé en mi máquina virtual vagabunda ($ vagrant ssh) y ejecuté ifconfig para obtener mi dirección IP.
  4. Agregué esa dirección IP a mi archivo de implementación de Capistrano.
  5. porque pasando vagabundos información ssh a mis configuraciones locales: vagrant ssh-config >> ~/.ssh/config
  6. Me pasé la implementación, cuando se le pida la contraseña SSH, solía vagrant

Funcionó.

+1

usted podría también utilizar hostonly. Dos ventajas. Uno, puede asignar una dirección IP, por lo que no necesita buscarlo cada vez. Dos, las máquinas no tienen acceso a la red en general. De lo contrario, las instrucciones serían las mismas. – Mikezx6r

19

También se puede alimentar opciones de SSH Vagrant a Capistrano (la mayor parte del :ssh_options van directamente a Net :: SSH, http://net-ssh.github.com/ssh/v1/chapter-2.html, ver "Opciones") así que no hay necesidad de ensuciar su verdadera ~/.ssh/config

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

role :web, "localhost" 
... 

(Por supuesto, no se debe realmente a utilizar el insecure_private_key o la raíz por defecto/contraseñas vagabundos menos correctamente un cortafuegos, pero el principio es el mismo.) redes

Cuestiones relacionadas