Jose Alexis Correa Valencia
@jalexiscv, hace 2 meses..
Cover 2 5E38324EB145C

Actualizar web con GIT


No es sabido por muchos, pero podemos utilizar nuestro control de versiones favorito (GIT) como herramienta para actualizar nuestro sitio/proyecto web en cuestión de segundos sin tener que subir los archivos uno por uno a través de un cliente FTP.Quizás te preguntes, ¿y qué ventajas tiene?. La respuesta, bastantes:
  • Tener un repositorio GIT del proyecto en nuestro propio servidor.
  • Actualizar nuestro sitio o proyecto web a la última versión en cuestión de segundos.
  • Poder volver a una versión estable de nuestro proyecto de forma rápida y segura en caso de haber algún problema.
  • Evitar errores humanos, como los habitualmente ocasionados a la hora de actualizar con FTP.
  • Evita actualizar archivos innecesarios.
Estas son algunas de las principales ventajas de usar GIT como alternativa al FTP, y como puedes observar, no es tontuna.Si te has decidido a utilizar GIT, vamos a ello:Antes de nada, deberemos tener un servidor con acceso a la consola y permisos de root.Primero, debemos instalar GIT en nuestro servidor.1sudo apt-get install gitUna vez lo tengamos instalado, creamos una carpeta donde guardaremos los repositorios en nuestro servidor.1mkdir /var/www/git_rep/proyecto.gitAccedemos al directorio que acabamos de crear.1cd /var/www/git_rep/proyecto.git/Inicializamos un repositorio tipo bare de GIT.1git init -–bareUn repositorio bare en GIT es un repositorio central. Es decir, el repositorio donde realizaremos los push de nuestro proyecto.Ahora, crearemos un hook para que se actualice automáticamente el directorio desde donde sirve nuestro servidor web los archivos del proyecto.1sudo vi /var/www/git_rep/proyecto.git/hooks/post-updateIntroducimos el siguiente contenido:1GIT_WORK_TREE=/var/www/proyecto/ git checkout -fLa ruta ‘/var/www/proyecto/’ debemos remplazarla por la ruta donde se encuentre nuestro proyecto.Guardamos los cambios del archivo.Ahora le damos los permisos necesarios al hook que hemos creado.1chmod x /var/www/git_rep/proyecto.git/hooks/post-updateTras esto, ya tendremos montado el sistema en nuestro servidor, ahora tenemos que configurar un par de cosas en nuestro repositorio local (working copy).Primero añadimos el repositorio a la configuración local.1git remote add nombre_rep_remoto ssh://usuario@host/var/www/git_rep/proyecto.gitRemplazamos lo siguiente de la url ssh:
  • nombre_rep_remoto: Nombre que tendrá nuestro repositorio remoto en GIT
  • Usuario: Nombre de usuario del sistema
  • Host: Nombre o dirección de nuestro servidor.
Damos permisos de escritura a nuestro directorio git1sudo chmod -R 0777 /var/www/git_rep/proyecto.gitHacemos push del contenido local al repositorio remoto1git push nombre_rep_remoto master:refs/heads/masterMuy bien, tras esto, sólo tendremos que realizar algún cambio en local, hacer un commit, y hacer push a nuestro repositorio remoto.1git push nombre_rep_remoto masterSi el push se hace correctamente, veremos como la carpeta donde tenemos los archivos que sirve nuestro servidor web se habrá actualizado automáticamente.Esto es todo amigos, a partir de ahora cuando hagamos un push a nuestro repositorio remoto, se actualizará también nuestro proyecto web.Cualquier problema o consulta, no duden en preguntar.
Fuentes
    Comentario
    Image
    Comentarios