Información

GitHub, estrategías de deploy y la flexibilidad del entorno

lectura 3 min

Tanto si trabajas solo como en un equipo de desarrollo, es frecuente hacer uso de un sistema de control de versiones en el que guardar los cambios que se van realizando en un proyecto, dentro de los sistemas de control de versiones el de uso más extendido es Git, y dentro de Git las plataformas de referencia son GitHub y GitLab.

Cuando se hace uso de este tipo de repositorios, se suele buscar a su vez el crear una estrategia integral de despliegue de los cambios, en la que estos se obtengan desde el repositorio remoto y se apliquen en el servidor final, incluido la ejecución de tareas que implique dicha puesta en producción.

Al tener la necesidad de crear estos flujos de desarrollo, el pensamiento más habitual es creer que se debe optar por un servidor dedicado o tipo VPS en el que disponer de acceso administrador, pero nada más lejos, a día de hoy cPanel y el entorno que ofrecemos facilitan todas las herramientas necesarias para crear este tipo de escenarios sin mayor problema o limitación, manteniendo las ventajas de un entorno 100% administrado en lo que respecta a la seguridad y el rendimiento, sin perder flexibilidad.

Para desmitificar esta creencia, hemos creado un completo manual paso a paso en el que tratamos un caso ejemplo, un escenario en el que hacemos un despliegue de una aplicación desarrollada en Laravel, desde un repositorio alojado en Github, con una estrategia para aplicar cambios desde el repositorio, incluyendo la opción de automatizar el deploy en cada commit que realicemos sobre el repositorio remoto, y la ejecución de las tareas que el framework requiere durante la puesta en producción de los cambios.

Este no sería más que un ejemplo para demostrar la flexibilidad del entorno, como explicamos en la reflexión final del manual, el escenario expuesto nos permite mostrar algunas de las herramientas de las que se dispone (acceso SSH, API local de cPanel, repositorios con Git, deploy de tareas...) para que sea el propio desarrollador el que decida como personalizar y adaptar el proceso a las necesidades de su flujo de trabajo.