Gestionar GIT desde cPanel

Si bien realizar un pull de los archivos hacia nuestro repositorio en cPanel es automático y no requiere acciones adicionales por nuestra parte, para poder gestionar los deploys en cPanel tendremos que crear antes un archivo .cpanel.yml, donde le diremos hacia donde se tienen que copiar los archivos cuando pulsemos sobre «Deploy«.

Para gestionar GIT desde cPanel, accederemos a la opción del menú «Git Version Control».

Podemos escribir «git» en la barra de búsqueda superior para que nos aparezca como primer resultado.
Al acceder, veremos nuestro repositorio clonado o creado y podremos gestionarlo pulsando sobre «Manage«, resaltado con un recuadro azul a continuación:

4dc86d275bcb134325abba9000a900eb6b4bcb49?t=af06bb709274131cfa16b10c9fc0820b

Si aún no tenéis un repositorio creado o clonado, puede que os interesen los siguientes artículos:

  • Clonar un repositorio público: https://www.factoriadigital.com/soporte/es/tutoriales-y-preguntas-frecuentes/article/clonar-un-repositorio-publico-en-cpanel
  • Clonar un repositorio privado: https://www.factoriadigital.com/soporte/es/tutoriales-y-preguntas-frecuentes/article/clonar-un-repositorio-privado-en-cpanel

Crear archivo .cpanel.yml

Para crear el archivo .cpanel.yml deberemos crearlo primero en nuestro repositorio original, no podremos crearlo desde cPanel, ya que no detectará el archivo si hay cambios pendientes en la rama actual.

Como queremos crear un archivo, ya lo detectará como cambio y por tanto no lo detectará como válido, por tanto, deberemos crear el archivo ya sea desde nuestro repositorio clonado en local o directamente desde GitHub, Bitbucket, o el que estéis utilizando.

En nuestro caso, lo vamos a crear directamente en GitHub. Nuestro repositorio contiene un directorio src/ con todo el código que necesitamos, por lo que nuestro .cpanel.yml se ve así:

— deployment: tasks: – export DEPLOYPATH=/home/pruebasfd/public_html/ – /bin/rm -Rf $DEPLOYPATH – /bin/mkdir $DEPLOYPATH – /bin/cp -R src/. $DEPLOYPATH
Deberéis modificar las rutas acorde a las vuestras. Las podéis consultar en el Administrador de archivos de cPanel si no estáis seguros.
En este archivo lo que hacemos es definir la ruta donde queremos que se copie nuestro código, previamente borramos ese mismo directorio, lo creamos y finalmente se copia.

De esta manera, nos aseguramos de que si hay algún archivo que se ha eliminado, desaparezca al realizar el copiado.

Este archivo .cpanel.yml tendremos que subirlo a nuestro GIT y deberá estar en el directorio más superior, en nuestro caso, quedaría así:

a3351daac7e9c1cb31e08b3be75bb8863eb5f425?t=21c1b3ec5e27e4e30c068bf9e1c26b49
Una vez guardado el archivo y subido a GIT, procederemos a sincronizarlo desde cPanel mediante el botón «Update from Remote«, resaltado en un recuadro azul:

ba14d634001a51fbf0e7055d0724693b7cacf798?t=850dfab0f41669806877ded9f0d80b30
Si todo está correcto, veremos el mensaje resaltado con un recuadro naranja, el cual nos indica que está detectando el archivo .cpanel.yml y podremos realizar un deploy.

Realizar un deploy

Para trasladar nuestros cambios obtenidos en el repositorio, primero tendremos que cumplir ciertos requisitos:

  1. Un archivo .cpanel.yml creado en nuestro directorio principal.
  2. Una o más ramas remotas o locales.
  3. Un árbol de trabajo limpio, es decir, que no hayan archivos pendientes de realizar commit, conflictos o similares.

Sobreentendemos que estos requisitos se están cumpliendo, ya que no estaremos trabajando directamente con nuestros archivos en el servidor, sino que los obtendremos desde GIT, donde anteriormente se habrán subido desde un entorno local o de pruebas.

Existen por tanto, dos formas de realizar deploy:

  • Manual: Si tenéis el repositorio GIT principal fuera de cPanel, este será el procedimiento habitual.
  • Automático: Si vuestro repositorio GIT principal es el propio repositorio de vuestra cuenta de cPanel, cualquier push que hagáis ejecutará automáticamente el archivo .cpanel.yml, realizando el deploy hacia el directorio principal sin necesidad de que hagáis nada más.

Realizar un deploy manualmente

Por tanto, para realizar un deploy de una rama en concreto, primero deberemos asegurarnos de que estamos en la rama deseada, normalmente, será master. La seleccionamos en Checked-Out Branch y pulsamos Update:

363fa879f316263765882b7e48229acdf9614856?t=e2804e7ec6a31de91fe57ab02c3bd0ea
Tras esto, pulsamos sobre la pestaña Pull or Deploy y dentro, sobre Deploy HEAD Commit, resaltado en un recuadro azul a continuación:

69ea38dd1a3ecae4ec71cbfa1b0b2a36a2ddb415?t=c4df139bef2cc9575d190a3c4ad5bd41
Dependiendo de la cantidad de archivos, puede tardar más o menos. Tras terminar, nos aparecerá el mensaje resaltado en un recuadro naranja, donde nos mostrará el último commit del que hayamos hecho deploy.

Si tenéis dudas, siempre podéis contactar con nosotros o consultar la documentación de cPanel: https://docs.cpanel.net/knowledge-base/web-services/guide-to-git-deployment/

Con una trayectoria que se remonta a los primeros días de WordPress en diciembre de 2005, me destaco como un pionero en el mundo de la web, abrazando cada evolución desde la versión 2.0 con pasión y dedicación.

A lo largo de más de mil proyectos web, he desarrollado plugins y themes desde cero para ofrecer soluciones a medida.

Mi amor por la programación es palpable en cada línea de código que escribo, y mi formación como ingeniero se combina con mi enfoque dinámico y positivo para resolver desafíos con ingenio y determinación.

Además de mi pasión por la tecnología, encuentro equilibrio y serenidad como aficionado al ajedrez y como instructor de Yoga.

Publicaciones Similares