Problemas con Capistrano y Git

Hola a todos y desde ya muchas gracias, desde ayer estoy que peleo
intentando hacer un deploy en el servidor de produccion con Capistrano.
Aqui les comento como esta configurada la aplicacion y repositorio.

*Servidor *

Ubuntu 8.10 / Apache 2 / Rails 2.3.2
Ubicacion de mi aplicacion /sites/App1 → Aqui adentro tengo 1
directorio
oculto .git/ el cual genere con "git add . "

Maquina Desarrollo
*
*
Ubuntu 8.10 / Apache 2 / Rails 2.3.2
Hice un git clone ssh://[email protected]/sites/App1
Lo cual dio como resultado que se creara el directorio App1 dentro de
: /home/usuario/App1
Despues hice un cambio en una vista, hice un git stattus dentro del
directorio de la aplicacion y me indicaba el numero de archivos
cambiados,
todo ok
Despues un git commit -a -m “Test 1”
Y despues capify
Seguido de un cap deploy

Alli comienza la gestion de capistrano, abre la conexion ssh me pide 3
veces
el password de mi usuario, el cual es el dueño del directorio remoto
pero
termina con el siguiente error:

user@desktop:~/App1$ cap deploy

  • executing `deploy’
  • executing `deploy:update’
    ** transaction: start
  • executing `deploy:update_code’
    executing locally: “git ls-remote
    ssh://[email protected]/sites/App1
    master”
    [email protected]’s password:
  • executing “git clone -q ssh://[email protected]/sites/App1
    /sites/App1/releases/20090424212901
    && cd /sites/App1/releases/20090424212901 && git checkout -q -b deploy
    34139f00ffe511ef92821c21c1956ddf129334d5 && (echo
    34139f00ffe511ef92821c21c1956ddf129334d5 >
    /sites/App1/releases/20090424212901/REVISION)”
    servers: [“www.midominio.com”]
    Password:
    [www.midominio.com] executing command
    ** [www.midominio.com :: err] Permission denied, please try again.
    ** [www.midominio.com :: err] Permission denied, please try again.
    ** [www.midominio.com :: err] Permission denied (publickey,password).
    ** [www.midominio.com :: err] fatal: The remote end hung up
    unexpectedly
    command finished
    *** [deploy:update_code] rolling back
  • executing “rm -rf /sites/App1/releases/20090424212901; true”
    servers: [“www.midominio.com”]
    [www.midominio.com] executing command
    command finished
    failed: “sh -c "git clone -q ssh://[email protected]/sites/App1
    /sites/App1/releases/20090424212901
    && cd /sites/App1/releases/20090424212901 && git checkout -q -b deploy
    34139f00ffe511ef92821c21c1956ddf129334d5 && (echo
    34139f00ffe511ef92821c21c1956ddf129334d5 >
    /sites/App1/releases/20090424212901/REVISION)"” on www.midominio.com

Desde ya nuevamente gracias y disculpen si estoy obviando algo, escribo
despues de googlear mucho, leer y no lograr saber o tener idea de donde
esta
mi error,

Saludos,
Hernan

¿Tiene acceso el servidor remoto al repositorio git?

Has preparado la instalación remota con cap deploy:setup o cap
deploy:cold

La verdad, que normalmente dejo que las máquinas se deployen solan
on-push,
por lo que hace tiempo que no ejecuto capistrano. Y para el resto de
tareas
que ofrece capistrano… lo suelo hacer a mano.

Hola Guillermo, gracias por contestar, bueno intento responder la
pregunta,
aunque a estar alturas ya ando medio desorientado:
En mi servidor remoto

la aplicacion reside en /sites/App1

el repositorio lo tenia afuera de ese directorio, dentro de un
directorio
/sites/App1.git

la maquina local hizo clone desde esa ubicacion, use git clone ssh://
[email protected]/sites/App1

Algo esta mal alli?

Saludos,
Hernan

2009/4/24 Guillermo [email protected]

2009/4/25 Hernan Maguiña [email protected]

[email protected]/sites/App1

Algo esta mal alli?

Ahí con la info que das… no hay nada de malo.

¿Que estrategia de despliegue usas? Por el log que pasaste antes, el
servidor remoto intentará acceder a
ssh://[email protected]/sites/App1,
pero como tampoco indicas como tienes configurado capistrano. Yo más no
te
puedo ofrecer.

Espera a ver si alguien más con los datos que proporcionas es capaz de
dar
una solución mejor. Yo llegado aquí, me pierdo.

Un Saludo.

Bueno solucione el problema usando git solamente, aunque se que no esa
no es
solucion optima.Use un git push
y en el servidor git checkout -f (si alguien me puede decir que
exactamente
hace a diferencia del push solo que pense hacia el deploy)
el tiempo me tiene un poco loco
asi que caballero, continuare asi hasta tener mas horas el lunes

Saludos y gracias,
Hernan

2009/4/24 Guillermo [email protected]