2011-11-29 14 views
8

estoy tratando de construir un script capistrano deplyoment para un proyecto git que tiene un submódulo.proyecto github con submódulos clonando capistrano

Me postulo estos comandos

run "git clone [email protected]:GITPROJECT /var/www/myfolder" 

cuando funciono este clon del submódulo acostumbra a/var/www/myfolder en vez de eso sólo crea una carpeta vacía con el nombre del submódulo

cuando intente ejecutar esto no funcionará

run "cd /var/www/myfolder/submodule && git pull master" 

alguien me puede ayudar con esto por favor?

+0

tengo un trabajo para esto, ejecutar un RM -rf para/var/www/myfolder/submodule y clonar el submódulo en esa carpeta otra vez, no me importa lo que le pase a git ya que solo necesito copiar esto codificar a la raíz web. aún así no es una buena solución – nivanka

+0

Esto ya no funciona en Capistrano 3.x –

Respuesta

18

Básicamente lo que necesita es

set :git_enable_submodules, 1 

opción en el script deploy.rb. Le dice a capistrano que inicie y actualice los submódulos de Git después de obtener el origen del repositorio principal. Si por alguna razón desea hacerlo de forma manual puede ejecutar que desde el directorio raíz del proyecto:

git submodule update --init 

embargo, si no recuerdo mal, --init no está disponible en algunas versiones antiguas de git por lo que si doesn 't trabajar puede hacerlo así:

git submodule init && git submodule update 

Tenga una mirada en this answer para una explicación más detallada acerca de las opciones de Git para Capistrano.

+0

¡genial! gracias, me perdí la actualización del submódulo git --init y el submódulo git init && git actualización del submódulo – nivanka

Cuestiones relacionadas