Hola gente, de nuevo yo por acá. Les paso a comentar la situación:
El deploy con capistrano de mi app con ruby 1.9.3 y rails 4 funciona de maravillas (deployandolo a un servidor de staging).
El tema es el servidor de producción: en el mismo el puerto 22 está cerrado. Por lo que me cree una vpn para poder conectarme mediante ssh... esto esta funcionando bien y puedo loguearme al servidor por ssh y hacer un git clone del repositorio de bitbucket (con http://) sin problemas => ya que el 80 lo tengo abierto...
Lo que hice luego de comprobar lo anteriormente mencionado fue cambiar de protocolo git a http en repo_url de mi archivo de deploy de esta forma:
Tras ello, también corri el bundle package --all para tener las gemas en vendor/cache y no necesitar traerme nada por git (en teoría, con clonar el repo via http, debería andar la aplicación...). El problema, es que por algún motivo, cuando hago el deploy intenta hacer un git remote update (puerto 22) y falla dado que como dije anteriormente dicho puerto no esta abierto... Esta es la salida:
y los archivos de deploy de capistrano:
Intente cambiar la variable:
set :bundle_flags, '--deployment'
por
set :bundle_flags, '--local'
pero el resultado es el mismo.
Como estoy usando:
require 'capistrano/deploy' y
require 'capistrano/rails' (segun la doc oficial, incluye bundler, assets y migrations), me puse a ver las tareas en cada uno y llegué a ver lo siguiente:
Según la salida de la consola se ejecuta esto:
y luego ejecuta esto (el git remote update que luego falla):
Si es que interpreté bien, es justamente esta útlima task la que me está dando problemas y entiendo que no sería necesario que la haga ya que anteriormente se hizo el clone (como mencione en (a)).... Ahora bien, como hago para que no haga ese remote update? o bien que lo haga pero por http?
Muchas gracias!
=========================================================
Christian N. Pfarher
S3000 Santa Fe. Argentina