Cómo desplegar un proyecto web con Git

Git es un sistema de control de versiones, que sirve en esencia para poder mantener un registro de todos los estados por los que ha pasado un software. Obviamente, usar Git es muy interesante, porque permite tener un control absoluto de cada mínimo cambio en los archivos de un proyecto. Pero además es una herramienta excepcional para poder realizar operaciones diversas en servidores. Usar Git puede en principio resultar un poco complejo, pero no hace falta bloquearse por ello. Realmente las operaciones básicas son bastante sencillas.

Repositorio de software Git

En Git existe el concepto del repositorio de software, que viene a ser el conjunto de código de un proyecto al que Git le está realizando seguimiento. Una vez instalado Git, podemos crear un repositorio de software en cualquier carpeta de nuestro ordenador con el comando:

git init

Cuando tenemos un repositorio de software podemos agregar código, para que se haga seguimiento, con el comando:

git add .

Posteriormente podemos confirmar esos cambios con el comando:

git commit -m 'Cambios en proyecto'

Repositorio remoto Git

Lo normal es que, cuando trabajamos con Git, tengamos un repositorio remoto con el código de las aplicaciones. Este repositorio remoto es donde todos los desarrolladores envían el código que han confirmado, de modo que todos los participantes de un proyecto puedan sincronizar los cambios.

Para obtener un repositorio remoto podemos usar servicios como GitHub, o incluso instalar nuestro propio servicio de repositorios remotos en nuestros propios servidores. Esto es cuestión de minutos en  los servidores de Arsys, ya que podemos instalar Gitlab en un servidor cloud muy fácilmente. Una vez tenemos un repositorio local y hemos confirmado al menos un cambio, podemos asociar un repositorio remoto con comandos como estos:

git remote add origin https://github.com/mi_usuario/mi_repositorio.git
git push -u origin master

Esto añadiría un repositorio remoto de GitHub llamado «mi_repositorio», que pertenece al usuario «mi_usuario».

Despliegue con Git

Una vez que tenemos el software en un repositorio remoto, disponemos de todo lo necesario para hacer el despliegue con Git.

Nota: Es importante decir que requerimos acceso por SSH al servidor donde queremos desplegar el proyecto, algo que disponemos en servidores VPS, Cloud y dedicados.

La operativa es muy sencilla. Consiste en acceder por SSH al servidor contratado en Arsys y situarnos en la carpeta donde están los archivos de un dominio. En  Linux lo conseguimos con algo como:

cd /var/www/mi_dominio.com

Una vez allí, podemos clonar el repositorio remoto, con un comando como éste:

git clone https://github.com/mi_usuario/mi_proyecto.git

Con este comando se copiarán todos los archivos del repositorio «mi_proyecto» perteneciente al usuario de GitHub «mi_usuario», y lo harán en la carpeta donde estás situado en el terminal (debido al «.» final).

La URL de un repositorio que pretendes clonar te la informa el propio servicio de repositorios remotos, por ejemplo en esta imagen mostramos dónde aparece en GitHub.

Con esto has conseguido desplegar el proyecto. Ya solo te quedaría instalar las dependencias con los gestores que hayas usado. Por ejemplo en proyectos web con Javascript, donde usas npm, lanzarías el comando «npm install». Si usas Composer para PHP, lanzarías el comando «composer install». Además de cualquier comando adicional que requiera la plataforma o lenguaje de programación que tengas.

Conclusión

Hemos visto que el despliegue con Git es muy sencillo. Básicamente hemos señalado aproximadamente media docena de comandos, en los que hemos  incluido desde la creación del repositorio hasta el despliegue en el servidor. Aunque realmente, el paso del despliegue se traduce en un único comando de consola. Ahora, cada vez que quieras actualizar el sitio web, trayendo los cambios del repositorio remoto, solamente tienes que ejecutar el comando: «git pull »

Con ese sencillo paso estarás obteniendo del repositorio remoto todos los cambios realizados en el proyecto, sin dejarte ninguno y asegurándote que el proyecto tenga el mismo estado que has probado en tu servidor de desarrollo. Ya te puedes olvidar del FTP, si es que seguías usándolo a día de hoy. Las subidas interminables de archivos al servidor han terminado. O las actualizaciones del proyecto en las que no tienes como asegurar que no te olvidas nada y no tocas más que lo necesario.

Ahora con Git puedes estar mucho más tranquilo. Y esto es solo el principio. Esperamos que te haya resultado interesante y que este conocimiento sirva como motivo más para migrar tus proyectos, desde servidores de alojamiento compartido, a servidores VPS o cloud.