capistrano y ec2 y github – no se puede implementar

Estoy intentando implementar mi primera aplicación web para EC2 usando capistrano y el repository está en github. Pero estoy enfrentando problemas con "límite de deployment: frío". El deploy.rb se pega a continuación. Los siguientes son los pasos que seguí.

1) Conecté a la instancia de ec2 usando ssh desde mi máquina local. Se generaron keys utilizando ssh-keygen sin ninguna frase de contraseña.

2) Tomó los contenidos de id_rsa.pub y copió a las configuraciones de github las teclas de deployment.

3) Luego, desde mi máquina local, ejecuté "cap deploy: cold". Obtuve el siguiente error

user1 @ laptop: ~ / MyExample $ cap deploy: cold * 2013-03-01 19:08:06 ejecución deploy:cold'
* 2013-03-01 19:08:06 executing
deploy:cold'
* 2013-03-01 19:08:06 executing
deploy:cold'
* 2013-03-01 19:08:06 executing
deploy: update '** transaction: start * 2013-03-01 19:08:06 ejecutando `deploy: update_code' actualizando el checkout en caching en todos los serveres que se ejecutan localmente:" git ls-remote [email protected]: user1 / MyExample.git HEAD "Permiso denegado (publickey). fatal: el extremo remoto colgó inesperadamente * [deploy: update_code] rolling back * ejecutando "rm -rf /var/www/MyExample.com/releases/20130301133835; serveres verdaderos": ["181.73.124.219"] [181.73.124.219 ] ejecutando command de command terminado en 1186ms


set: application, "MyExample.com" set: scm, "git" set: repository, "[email protected]: thisuser / example.git"

default_run_options [: pty] = true

set: user, 'ubuntu' set: use_sudo, true set: deploy_to, "/ var / www / # {application}" set: deploy_via,: remote_cache

rol: web, "181.73.124.219" rol: aplicación, "181.73.124.219" rol: db, "181.73.124.219",: primary => true

después de "implementar", "implementar: bundle_gems" después de "implementar: bundle_gems", "deploy: restart"

namespace: deploy do task: bundle_gems ejecuta "cd # {deploy_to} / current && bundle install vandor / gems" tarea final: start do; tarea final: dejar de hacer; tarea final: reiniciar,: roles =>: aplicación,: except => {: no_release => true} do ejecutar "# {try_sudo} touch # {File.join (current_path, 'tmp', 'restart.txt')} "end end"

¿Que me estoy perdiendo aqui? También cualquier sugerencia a una URL / blog que pueda proporcionar pasos detallados ayudaría.

Gracias.

Logré hacerlo funcionar. Como se ve en el logging, ejecutando localmente: "git ls-remote [email protected]: user1 / MyExample.git HEAD"

el capistrano está intentando ejecutar la máquina local del command anterior y no en el server. La ejecución del command anterior en el terminal también arrojó el mismo error: permiso denegado (key pública).

Así que tuve que copyr el id_rsa y el id_rsa.pub generados desde el server de deployment al equipo local. Y después de copyr, agréguelo a las keys ssk que se utilizan ejecutando "ssh-add / path / to / keys".

Después de agregar esas llaves, pude avanzar.