Dejo aquí un pequeño howto o codekata para configurar un despliegue manual de una aplicación mediante Git. Con este codekata se instala el repositorio en un directorio, mientras que los ficheros de trabajo que finalmente corren la aplicación estarán en otro directorio diferente. Internamente los sistemas de despliegue automatizado usan configuraciones de este estilo para hacer lo que se llama Continuous Deployment (CD).
Para este post sólo se trabaja la forma manual de hacer el despliegue. Que si quisieras, podrás automatizarlo añadiendo luego webhooks a tu repositorio, y recibir estos webhooks para lanzar este despliegue.
Clonado del repositorio
Suponiendo que queremos poner la aplicación y repositorio en el mismo directorio, vamos al directorio y podemos ejecutar lo siguiente:
git --work-tree=./la_app/ clone git@servidor-de-repos.com:ruta/al/repo.git el_repo
Si estamos en el directorio /ruta/al/directorio/ entonces se crearán los siguientes directorio:
- /ruta/al/directorio/el_repo/
- /ruta/al/directorio/la_app/
No tienen que existir los directorios para que Git pueda crearlos.
Comandos de despliegue machacando modificaciones
cd /ruta/al/directorio/el_repo/
git checkout master
git fetch --all
git reset --hard origin/master
# aquí otros comandos especiales de tu app como borrar cachés, archivos temporales, etc..