Git, Desplegar Sitio Web desde repositorio

From Wiki de Caballero
Revision as of 01:00, 16 October 2017 by Felipe (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

En esta pagina se explica como hacer funcionar un Sitio Web obtenido desde un repositorio Git. La gracia de este set up es que se puede mantener el sitio usando versionamiento, esto ayuda a subir cambios nuevos al repositorio de forma fácil y además hace explícito los cambios que se han hecho sobre el sitio (ayuda a saber si hubo cambios no seguros y también ayuda a determinar cómo evoluciona).

Para estas instrucciones se asume la posibilidad de acceder al servidor usando SSH.

Obtener el sitio desde un repositorio Git

No tiene mayor ciencia.

git clone [repo]

El problema con esta forma es que si el repositorio es muy grande, por ejemplo en GoDaddy se cierra la conexión (seguramente tienen un limite de tiempo o te bytes para descargar). Seguramente pasa lo mismo en diferentes hostings.

Obtener el sitio desde un repositorio Git con un certificado auto firmado

# Opción 1, un paso
git -c http.sslcainfo=[ubicación en disco del repositorio] clone https://[url repositorio]
git -c http.sslcainfo=[ubicación en disco del repositorio] clone https://[url repositorio] [directorio] # Especificando directorio

# Opción 2, dos pasos
# Paso 1
git config --global http.sslcainfo [ubicación en disco del repositorio]
# Paso 2
# clonar normalmente

Obtener el sitio desde un repositorio Git creando un Bundle

Un Bundle es algo así como un paquete.

# Desde adentro del repositorio se crea un bundle
# El bundle es un archivo que contiene el repositorio
# -all incluye todas las ramas
git bundle create [nombre del archivo] --all
#Por ejemplo
git bundle create miSitio.bundle --all

# Una vez creado el bundle, se transfiere al servidor usando un medio diferente a git
# Por ejemplo scp o rsync
# Usando rsync una forma sencilla puede ser como la siguiente
# (revisar la documentación para más opciones)
rsync -P miSitio.bundle usuario@servidor:~/

# En el servidor donde va el sitio y donde subimos el bundle
# Se clona el repositorio desde el bundle
git clone miSitio.bundle
git clone miSitio.bundle [directorio] # Lo mismo pero especificando directorio
# En este punto el repositorio apunta (origin) al bundle

# Si queremos que el repositorio apunte a una URL
git remote set-url origin [url del repositorio]