Informe Técnico: Alternativas a GitHub Actions para Despliegues y CI/CD Ilimitado
Análisis comparativo de soluciones de Integración y Entrega Continua (CI/CD) para resolver el límite de 2.000 minutos mensuales de GitHub Actions en cuentas gratuitas cuando se gestionan múltiples proyectos simultáneos.
1. El Cuello de Botella de GitHub Actions Gratuito
Los 2.000 minutos/mes se dividen entre todos tus repositorios privados. 4 proyectos consumen la cuota en ~10 días.
Solo 1 a 2 jobs concurrentes en la capa free. Si ejecutas varios pipelines a la vez, se quedan encolados.
500 MB máximos de artefactos y cachés de dependencias de build (npm, composer, docker layers).
2. Matriz de Alternativas Evaluadas
| Solución | Tipo | Minutos CI/CD | Costo Licencia | Punto Fuerte |
|---|---|---|---|---|
| GitHub Self-Hosted Runner | Híbrido (Mac/VPS) | ILIMITADO (0 cuota) | $0 Gratis | Mantienes tus `.yaml` de GitHub sin cambiar nada |
| Webhook Auto-Deployer | Hostinger Nativo | ILIMITADO | $0 Gratis | Despliegue en 2 seg directo en hosting compartido |
| Coolify (Self-Hosted PaaS) | VPS Propio (Docker) | ILIMITADO | Open Source | Tu propio Vercel para 50+ apps y landings con SSL auto |
| Woodpecker CI | CI Ligero en VPS | ILIMITADO | Open Source | Pipelines en Docker súper rápidos y bajo consumo de RAM |
| GitLab CE (Community Edition) | Suite Completa | ILIMITADO | Open Source | Repositorios privados + CI/CD + Registry en tu servidor |
3. Cómo Implementar las Mejores Soluciones Hoy
Permite que tus tests y builds se ejecuten en tu Mac o servidor sin pagar un solo centavo y sin gastar minutos de la cuenta:
# 1. En GitHub: Settings -> Actions -> Runners -> New self-hosted runner
# 2. Descargas y ejecutas el daemon en tu terminal
# 3. En tu workflow .github/workflows/deploy.yml cambias:
jobs:
build_and_test:
runs-on: self-hosted # <-- ¡Reemplaza ubuntu-latest por self-hosted!
steps:
- uses: actions/checkout@v4
- run: php tests/run_all_tests.php
Al hacer git push origin main, GitHub dispara una petición POST a tu Hostinger para sincronizar en 2 segundos:
<?php
// deploy.php en Hostinger
$secret = 'TU_TOKEN_SECRETO_AMRTECH';
$headers = getallheaders();
$signature = $headers['X-Hub-Signature-256'] ?? '';
$payload = file_get_contents('php://input');
if (hash_equals('sha256=' . hash_hmac('sha256', $payload, $secret), $signature)) {
shell_exec('git pull origin main 2>&1');
echo json_encode(['status' => 'deployed', 'timestamp' => time()]);
} else {
http_response_code(403);
echo "Forbidden";
}
Recomendación Estratégica para el Ecosistema AMR TECH
1. Para este catálogo y landings en Hostinger: Continuar con el script local automatizado (`rsync` sobre SSH puerto 65002) o activar el deploy.php con Webhook, logrando despliegues instantáneos de 2 segundos sin gastar minutos.
2. Para CI/CD en pipelines con tests PHP y Node: Configurar un self-hosted runner en tu máquina local o VPS para tener minutos infinitos ($0) en GitHub.
3. Para futuros proyectos SaaS y clientes: Levantar una instancia de Coolify en un VPS económico para gestionar 50+ dominios y despliegues automáticos desde Git sin depender de límites externos.