Alternativas gratuitas a Workers Builds: CircleCI, GitHub Actions, Oracle Cloud y cómo migrar sin causar un desastre
Solo han pasado diez días del mes y el panel ya anuncia: «Has alcanzado el límite mensual».
Perdona, ¿qué? ¡Al calendario todavía le quedan veinte días! ¿Se supone que la web debe ponerse el pijama e hibernar? El portero del plan gratuito ha cerrado el edificio antes de tiempo.
Hay una distinción fundamental: agotar los minutos de construcción no significa que una web ya publicada deje de funcionar automáticamente. Preparar código, responder a visitantes y entregar archivos HTML terminados son tareas diferentes. Y algunas pueden trasladarse a la capacidad gratuita de otro proveedor.
Los datos se comprobaron en la documentación oficial el 10 de octubre de 2026. Conviene revisar los límites antes de contratar o desplegar nada.
1. ¿Qué límite se ha agotado realmente?
Cloudflare tiene varios contadores. Tratarlos como una sola batería puede convertir un aviso técnico en un funeral innecesario.
- Workers Builds: minutos para obtener, comprobar y construir el código. El plan gratuito ofrece 3.000 minutos al mes, una compilación simultánea y hasta 20 minutos por compilación.[1]
- Cloudflare Pages Builds: número de compilaciones de la web: 500 al mes, una a la vez.[2]
- Workers y Pages Functions: solicitudes que ejecutan código dinámico; en Free comparten un límite de 100.000 solicitudes diarias.[3]
- Archivos estáticos: HTML, CSS e imágenes ya preparados, cuando no se invocan Functions. Estas solicitudes a Pages son gratuitas e ilimitadas.[3]
Quedarse sin minutos de Workers Builds no borra de golpe las páginas existentes. Otros límites sí pueden afectar a una función concreta. Antes de anunciar la muerte de toda la web, hay que identificar qué contador llegó a cero.
2. Las matemáticas de quedarse a cero el día diez
Si se gastaron 3.000 minutos en diez días, el promedio fue de 300 minutos —cinco horas— diarios. A ese ritmo se necesitarían 9.000 minutos en treinta días, es decir, 6.000 por encima de la cuota original.
Pero conseguir 6.000 minutos anunciados en otra plataforma no garantiza solucionar el problema. Cada entorno tiene memoria, procesadores, velocidad, tiempos de arranque y límites distintos.
Primero conviene investigar el desperdicio. ¿Se reconstruye toda la web por cambiar una sola entrada? ¿Se repiten indefinidamente los trabajos fallidos? ¿Una comprobación mínima utiliza una máquina enorme? En ocasiones el culpable no es un pirata informático, sino un botón inocente que dice «Volver a ejecutar».
3. Un ejecutor, un despertador y un servidor web no son lo mismo
GitHub Actions y CircleCI ejecutan scripts, pruebas y compilaciones. Son candidatos reales para sustituir las tareas de Workers Builds.
cron-job.org llama a una dirección web siguiendo un horario, incluso cada minuto. Es un despertador, no un ordenador adicional que realice todo el trabajo.[4]
Cloudflare Workers y Deno Deploy atienden solicitudes web y API. Responder a una petición en un instante no es igual que producir cientos de artículos durante mucho tiempo.
Comprar cinco despertadores no te da cinco cocineros. Más avisos de inicio no equivalen a más capacidad de cálculo.
4. GitHub Actions: práctico si el código ya está en GitHub
GitHub Actions permite comprobar archivos, transformar contenidos y ejecutar procesos programados desde el repositorio. GitHub Free incluye 2.000 minutos mensuales para repositorios privados con ejecutores alojados estándar. En repositorios públicos esos ejecutores pueden usarse gratis, pero publicar código confidencial solo para ahorrar minutos sería un intercambio pésimo.[5]
Sirve para validar artículos, juntar traducciones, preparar imágenes y ejecutar procesos breves.
Atención al horario: GitHub advierte que las ejecuciones programadas pueden retrasarse e incluso omitirse durante periodos de alta carga.[6] El empleado al que citas a las 10:00 podría aparecer a las 10:48. Hay que poder recuperar los trabajos que no se lanzaron.
Además, las pruebas de propuestas de cambio y la supervisión consumen minutos del mismo cupo. Los 2.000 minutos no pertenecen necesariamente a la producción de contenidos.
5. CircleCI: otro depósito gratuito de cálculo
CircleCI Free ofrece 30.000 créditos mensuales y no exige tarjeta bancaria para el plan gratuito. El gasto por minuto depende de la máquina seleccionada.[7][8]
| Entorno de ejemplo | Créditos por minuto | Minutos teóricos |
|---|---|---|
| x86 Docker Small, 2 GB | 5 | 6.000 |
| x86 Docker Medium, 4 GB | 10 | 3.000 |
| x86 Docker Large, 8 GB | 20 | 1.500 |
| Arm Docker Gen 2 beta, 8 GB | 6 | 5.000 |
Hay una trampa: los famosos 6.000 minutos corresponden a un entorno de 2 GB. Si el proceso requiere 8 GB, no basta con meterlo a presión, como una ballena en un estudio de veinte metros.
Arm Gen 2 beta resulta interesante: la tarifa oficial indica 2 CPU y 8 GB por 6 créditos/minuto. Sin embargo, hay que comprobar disponibilidad, compatibilidad con Arm y rendimiento real.[8] El almacenamiento y la transferencia también pueden gastar créditos.[9]
CircleCI no es magia ilimitada, pero sí representa una bolsa gratuita independiente de la de Cloudflare.
6. Oracle Cloud: usar una máquina virtual en vez de contar minutos de CI
Otra estrategia consiste en ejecutar los procesos en una máquina virtual Always Free de Oracle Cloud.
Corrección importante para 2026: la documentación actual indica un equivalente de 2 OCPU y 12 GB de RAM en total para Arm Always Free; las antiguas referencias a 4 OCPU y 24 GB están desactualizadas. La asignación oficial es de 1.500 horas OCPU y 9.000 horas-GB mensuales.[10][11]
Con una máquina propia se reduce la dependencia de los minutos mensuales de una plataforma de automatización. A cambio hay que instalar actualizaciones, proteger claves, vigilar fallos y mantener la seguridad. Puede faltar capacidad en una región, y las máquinas inactivas pueden recuperarse.[10]
Es como recibir un taller gratis y descubrir que también debes hacer de electricista, cerrajero y vigilante nocturno.
7. No hace falta abandonar Cloudflare
Mover todo un sitio puede romper funciones que ya marchaban bien.
Una división razonable es: GitHub conserva los originales; CircleCI y Actions realizan los trabajos largos; Cloudflare Pages entrega las páginas estáticas; Workers y Functions resuelven solicitudes cortas; una máquina virtual atiende cargas adicionales cuando haga falta.
Si Pages tiene Functions, determinadas rutas estáticas también pueden activarlas. Cloudflare documenta el archivo _routes.json para excluir rutas.[12] No hay que excluir una ruta que requiera autenticación, redirección o protección: ahorrar eliminando la cerradura no es ahorrar.
Pages Free conserva sus propios límites: 500 compilaciones mensuales y 20.000 archivos por sitio.[2] Escapar del límite de tiempo para chocar con el número de archivos sería la versión informática del juego de golpear topos.
8. Otros servicios gratis: útiles, pero con otro propósito
Deno Deploy puede alojar algunas API, pero las aplicaciones ligadas a una base de datos específica de Cloudflare o a salas en tiempo real con estado necesitan una adaptación real.[13]
El plan Hobby de Vercel se limita al uso personal no comercial. Un sitio con anuncios o funciones de pago no debería asumir que puede usarlo comercialmente gratis.[14]
cron-job.org sirve para llamar a una URL, pero si el servidor receptor ya agotó su cuota, el despertador sonará delante de una puerta cerrada.[4] Tampoco se trata de crear cuentas en masa para esquivar las normas de los proveedores.
9. El peor fallo de migración: publicar el mismo artículo dos veces
Imagina que Cloudflare y CircleCI reciben el artículo A. Uno publica la nueva versión; el otro termina más tarde y la sustituye por la antigua. Hemos ahorrado dinero y descubierto cómo viajar atrás en el tiempo.
La solución es una única fuente de verdad y una única entrada de asignación. Cada trabajo necesita identificador y versión, un solo ejecutor autorizado durante un periodo, un registro del resultado y una reasignación segura si falla o caduca. Al final hay que comprobar la URL publicada y su contenido real.
Nunca deben aparecer claves privadas ni artículos inéditos en registros públicos. Cada servicio debe recibir los permisos mínimos. Una migración gratuita no debería regalar contraseñas a todo internet.
10. Qué hacer durante los veinte días restantes
Primero, comprobar si se agotaron los minutos de Workers Builds, las compilaciones de Pages o las solicitudes diarias de Workers. Después, separar publicación y controles imprescindibles, preparación de contenidos y trabajos accesorios que pueden esperar.
Consultar los minutos restantes de GitHub Actions, probar un proceso pequeño en CircleCI Free y medir consumo, memoria y fallos. Solo entonces trasladar más tareas. Si hay procesos largos, evaluar Oracle. No activar varias rutas de producción sin protección contra ejecuciones duplicadas.
¿El límite de Builds apaga automáticamente la web? No necesariamente; servir páginas estáticas ya desplegadas es diferente. Hay que vigilar las demás cuotas.[1][3]
¿Los 6.000 minutos de CircleCI cubren exactamente un déficit de 6.000? Solo en el cálculo teórico del entorno de 2 GB. Una carga real puede necesitar otra máquina o más tiempo.[7][8]
Conclusión: se agotó la cuota de una máquina, no la vida de la idea.
Cloudflare: «Ya terminé mi turno del mes».
GitHub: «Yo hago los trabajos pequeños».
CircleCI: «Pásame algunos».
Oracle: «Hay taller, pero tú lo mantienes».
La persona al mando: «¿¡Los planes gratis trabajan por turnos!?»
Parecía jaque mate. Resulta que el tablero tenía casillas adicionales.
- Cloudflare Workers Builds — limits and pricing developers.cloudflare.com
- Cloudflare Pages — platform limits developers.cloudflare.com
- Cloudflare Pages Functions — pricing and static requests developers.cloudflare.com
- cron-job.org — free URL scheduling, up to once per minute cron-job.org
- GitHub — Actions billing and included minutes docs.github.com
- GitHub — scheduled workflow delays and dropped runs docs.github.com
- CircleCI — official Free plan and 30,000-credit allowance circleci.com
- CircleCI — resource class price list, including Arm Gen 2 beta circleci.com
- CircleCI — credits, exhaustion, storage/network implications circleci.com
- Oracle — Always Free resources, revised 2026 Arm allowances and idle reclamation docs.oracle.com
- Oracle — Free Tier and current eligibility conditions docs.oracle.com
- Cloudflare Pages Functions — invocation routing and _routes.json developers.cloudflare.com
- Deno Deploy — runtime and pricing limitations, migration suitability docs.deno.com
- Vercel — Hobby plan, non-commercial restrictions vercel.com

