Guía de Git: Despliegue
Introducción
La función Git Version Control de cPanel (cPanel → Archivos → Git Version Control) permite desplegar código de repositorios gestionados en tu cuenta.
El despliegue normalmente envía código finalizado al entorno de producción, por ejemplo, para aplicar cambios a tu sitio web.
Puedes configurarlo para que:
- Push deployment: despliegue automático al hacer push desde tu equipo.
- Pull deployment: despliegue manual desde la interfaz de cPanel.
Requisitos para el despliegue
Antes de que un repositorio pueda desplegarse, debe cumplir con:
- Tener un archivo válido
.cpanel.ymlen la raíz del repositorio. - Contar con una o más ramas locales o remotas.
- Tener el árbol de trabajo limpio (sin cambios pendientes).
Si no se cumplen estas condiciones:
- No se mostrará información de despliegue en la interfaz.
- El botón o la función de despliegue estarán deshabilitados.
El archivo .cpanel.yml
Este archivo define cómo y dónde se publican los cambios.
Debe crearse y agregarse al control de versiones (commit) en la carpeta raíz del repositorio.
Importante:
- Los ejemplos de abajo son ilustrativos, debes adaptarlos a tu entorno.
- No uses comodines (*) para copiar todo, ya que podrías subir contenido no deseado (como la carpeta .git).
- Evita caracteres no válidos en YAML. Consulta yaml.org para detalles.
Ejemplo: desplegar archivos individuales
---
deployment:
tasks:
- export DEPLOYPATH=/home/example/public_html/
- /bin/cp index.html $DEPLOYPATH
- /bin/cp style.css $DEPLOYPATH
- Línea 1: inicio del documento YAML.
- Líneas 2-3: definición de claves
deploymentytasks. - Líneas 4-6: lista de comandos Bash que se ejecutarán durante el despliegue.
Puedes añadir tantos como necesites. - Para comentarios, comienza la línea con
#.
Ejemplo: desplegar un directorio completo
---
deployment:
tasks:
- export DEPLOYPATH=/home/example/public_html/
- /bin/cp -R images $DEPLOYPATH
- Línea 1: inicio del documento YAML.
- Líneas 2-3: definición de claves.
- Líneas 4-5: comandos para copiar todo un directorio (opción
-Rpara recursivo).
Despliegue automático (Push deployment)
- cPanel añade automáticamente un hook post-receive a todos los repositorios que gestiona.
- Cuando haces un
git pushhacia un repositorio en cPanel que contiene un.cpanel.ymlválido:- El hook ejecuta el archivo
.cpanel.yml. - Se copian los cambios a la ruta de producción (por ejemplo,
public_html).
- El hook ejecuta el archivo
Ventajas:
- Un solo comando (
git push) actualiza el sitio. - Ideal para flujos de trabajo donde el código se prueba en local y se publica directamente.
También puedes reejecutar el despliegue manualmente sin necesidad de subir nuevos cambios.
Despliegue manual (Pull deployment)
- Se utiliza cuando el repositorio en cPanel obtiene cambios desde un remoto (no directamente desde tu equipo).
- Flujo:
- Desde tu equipo, haces
git pushhacia el repositorio remoto (por ejemplo, GitHub). - En cPanel, entras a Manage → Pull or Deploy.
- Pulsas Update from Remote para traer cambios.
- Pulsas Deploy HEAD Commit para ejecutar el
.cpanel.ymly aplicar los cambios en producción.
- Desde tu equipo, haces
Ventajas:
- Control total sobre cuándo se aplican los cambios.
- Útil si varios colaboradores suben cambios a un repositorio central antes de desplegar.
