Infraestructura y Deployment

Guía completa para configurar el deployment automático desde GitHub a Hostinger. Este proceso se realiza después de que el sitio ha sido probado con el link de prueba y está listo para producción.

📖 Descripción del Proceso

Una vez que el sitio ha sido probado exitosamente con el link de prueba (FTP), es momento de configurar la infraestructura de deployment automático. Esto permite que cada cambio en la rama 'main' de GitHub se despliegue automáticamente en producción.

Este flujo profesional asegura que el sitio se mantenga actualizado y previene errores al revisar cambios antes de hacer merge a producción.

🔑 Requisitos Previos

Sitio probado exitosamente con link de prueba (FTP)
Repositorio de GitHub creado y configurado
Acceso al panel de Hostinger
Dominio configurado en Hostinger

📋 Pasos para Configurar el Deployment

1

Iniciar sesión en Hostinger

Accede al panel de control de Hostinger con tus credenciales. Ve a hostinger.com e inicia sesión.

Login Hostinger
2

Ver lista de Websites

En el panel lateral, busca la sección de "Websites" para ver todos los sitios web que tienes configurados en tu cuenta de Hostinger.

Lista de Websites
3

Agregar Website personalizado

Selecciona la opción de crear un sitio web personalizado o "Custom Website" para tener control total sobre la configuración del deployment.

Website personalizado
4

Agregar el dominio

Si el dominio no está en la lista, agrégalo haciendo clic en "Add Website" o "Agregar Sitio Web". Ingresa el nombre del dominio y sigue las instrucciones.

Agregar dominio
5

Buscar el nuevo dominio

Una vez hayas concluido con los pasos en el punto 4, volvemos al dashboard y buscamos el dominio del sitio que deseas configurar. Si es un sitio nuevo, asegúrate de que el dominio ya esté agregado a tu cuenta de Hostinger.

Buscar dominio
6

Dominio nuevo encontrado

Llegados aqui, vamos a hacer clic al botón que indica "Dashboard", para entrar al dashboard especifico de este sitio web.

Dashboard Hostinger
7

Acceder al menú Advanced (Git)

Una vez creado el sitio, ve al menú "Advanced" y busca la opción de "Git" para configurar el deployment automático desde tu repositorio de GitHub.

Menú Advanced Git
8

Agregar repositorio de GitHub

Ingresa la URL de tu repositorio de GitHub. En este punto, si tu repositorio es privado, necesitarás crear un Personal Access Token en GitHub para que Hostinger pueda acceder al código.

⚠️ Importante: Si tu repositorio es privado, deberás crear un Personal Access Token (Classic) en GitHub. Continúa con los siguientes pasos para configurar la conexión segura.

Agregar repositorio
9

Crear Personal Access Token en GitHub (Repositorios Privados)

Para que Hostinger pueda acceder a tu repositorio privado, necesitas crear un Personal Access Token (Classic) en GitHub. Este token se usará en la URL del repositorio para autenticar la conexión de forma segura.

Paso 9.1: Ir a tu perfil de GitHub

Haz clic en tu foto de perfil en la esquina superior derecha de GitHub y selecciona "Settings" del menú desplegable.

Menú de perfil GitHub Settings

Paso 9.2: Acceder a Developer Settings

En el menú lateral izquierdo, desplázate hasta el final y haz clic en "Developer settings".

Developer Settings opción

Paso 9.3: Generar nuevo token (Classic)

Haz clic en "Personal access tokens", luego en "Tokens (classic)" y finalmente en "Generate new token (classic)".

Generate token classic

Paso 9.4: Configurar el token

Dale un nombre descriptivo al token (ej: "Hostinger Deploy") y selecciona el scope "repo" para dar acceso completo al repositorio. Luego haz clic en "Generate token" al final de la página.

Crear token classic con scope repo

Paso 9.5: Copiar y guardar el token

Para generar el token, primero seleccionas los scopes de "Repo", ya luego colocas el nombre del token y GitHub mostrará tu token una sola vez. Cópialo inmediatamente y guárdalo en un lugar seguro. No podrás verlo de nuevo.

🔐 MUY IMPORTANTE: Guarda este token de forma segura. Nunca lo compartas públicamente ni lo subas a repositorios. Trátalo como una contraseña.

Token generado - copiar

Paso 9.6: Usar el token en la URL del repositorio

Ahora que tienes el token, debes usarlo en la URL del repositorio cuando lo agregues en Hostinger. El formato es:

https://tu-usuario:TU_TOKEN_AQUÍ@github.com/tu-usuario/nombre-repositorio.git

Ejemplo ficticio:

https://desarrollador-web:ghp_1234567890abcdefghijklmnopqrstuvwxyz@github.com/desarrollador-web/mi-proyecto-web.git

Donde:

  • tu-usuario = Tu usuario de GitHub
  • TU_TOKEN_AQUÍ = El token que acabas de copiar
  • nombre-repositorio = El nombre de tu repositorio

✅ Listo: Tu repositorio privado está completamente configurado con token. Ahora continuaremos con la configuración del webhook en GitHub.

10

Configurar Auto Deployment en Hostinger

Activa la opción de "Auto Deployment" o "Webhook" para que cada vez que hagas un push a la rama 'main' en GitHub, Hostinger automáticamente descargue los cambios y ejecute el build.

💡 Tip: Asegúrate de seleccionar la rama correcta (generalmente 'main' o 'master') y configurar el comando de build si es necesario (ej: 'npm run build').

Auto deployment webhook
11

Configurar Webhook en GitHub

Ahora necesitas configurar un webhook en GitHub para que notifique a Hostinger cada vez que hagas un push a tu repositorio. Esto activará el deployment automático.

Paso 11.1: Ir a Settings del repositorio

En tu repositorio de GitHub, ve a "Settings" y en el menú lateral izquierdo busca "Webhooks".

Configurar webhook con URL y content type

Paso 11.2: Configurar el Webhook

Haz clic en "Add webhook". En el campo "Payload URL", pega la URL del webhook que Hostinger te proporcionó. En "Content type", selecciona "application/json". Luego haz clic en "Add webhook".

Agregar webhook en GitHub

✅ Webhook configurado: Ahora cada vez que hagas un push a tu repositorio, GitHub notificará a Hostinger automáticamente para que ejecute el deployment.

12

Realizar el primer Deploy

Una vez configurado todo, haz clic en "Deploy" o "Pull & Deploy" para realizar el primer deployment. Hostinger descargará el código de GitHub, ejecutará el build y publicará el sitio.

🎉 ¡Felicidades! Tu sitio ahora está configurado para deployment automático. Cada vez que hagas merge a 'main', el sitio se actualizará automáticamente.

Hacer deploy

🔄 Flujo de Trabajo con GitHub

Desarrollo y Deployment

  1. 1. Crea una rama 'dev' desde 'main' para trabajar en nuevas funcionalidades o cambios.
  2. 2. Realiza tus cambios en la rama 'dev' y haz commits frecuentes.
  3. 3. Cuando estés listo, crea un Pull Request de 'dev' hacia 'main'.
  4. 4. Revisa los cambios, asegúrate de que no haya conflictos y que el código funcione correctamente.
  5. 5. Haz merge del Pull Request a 'main'. Esto activará automáticamente el deployment en Hostinger.
  6. 6. Espera unos minutos y verifica que el sitio se haya actualizado correctamente en producción.

⚠️ Prevención de Caídas del Sitio

Nunca hagas push directamente a 'main' sin revisar. Siempre usa el flujo de Pull Request para que puedas revisar los cambios y asegurarte de que no haya errores antes de desplegar a producción. Esto previene que código roto llegue al sitio en vivo.

💡 Notas Importantes

🔐 Seguridad del Personal Access Token

El Personal Access Token es como una contraseña. Guárdalo de forma segura y nunca lo compartas públicamente ni lo subas a repositorios. Si se compromete, revócalo inmediatamente desde GitHub y genera uno nuevo.

🚀 Deployment Automático

Una vez configurado el webhook, cada merge a 'main' desplegará automáticamente. No necesitas hacer nada manualmente. El proceso toma entre 2-5 minutos dependiendo del tamaño del proyecto.

📦 Comandos de Build

Asegúrate de configurar correctamente el comando de build en Hostinger (ej: 'npm run build' o 'pnpm run build') y la carpeta de salida (generalmente 'dist' para Astro).

🔄 Rollback de Cambios

Si un deployment causa problemas, puedes hacer rollback en el panel de Hostinger o revertir el commit en GitHub y hacer merge nuevamente a 'main'.

🎉 ¡Infraestructura Configurada!

Tu sitio ahora tiene un flujo de deployment profesional. Cada cambio pasa por revisión antes de llegar a producción, asegurando la calidad y estabilidad del sitio. ¡Buen trabajo!