Skip to content

Enzonic CI

CI para tus repositorios de GitHub, en runners de Enzonic.

Enzonic CI ejecuta tus pruebas y compilaciones en cada push y pull request, y cada trabajo corre en su propio sandbox, en runners Linux que opera Enzonic. Registros en vivo, cachés de dependencias y artefactos, con la misma cuenta y plan que Deploy y Databases.

Incluido en todos los planes, también en Free. Los minutos de CI, los trabajos en paralelo y la retención vienen con tu plan.

Enzonic CI: pipelines de tres repositorios con sus últimas ejecuciones y un problema de configuración explicado

Más rápido que GitHub Actions con el mismo flujo de trabajo

Un solo flujo de trabajo, ejecutado en ambas plataformas: un trabajo de Node con npm ci y una suite de vitest, y un trabajo de Go con go test. Cuanto más bajo, mejor.

PasoEnzonic CIGitHub Actions
Ejecución completa, desde el push hasta que terminan todos los trabajos (cachés calientes)37 s
Checkout1 s
npm ci con caché caliente3 s
go test con cachés frías20 s
Trabajo de Go, de principio a fin (cachés calientes)11 s

Donde vamos más lentos: el primer npm ci tras un cambio en el lockfile tarda 6,8 s, frente a 4 s en GitHub, porque cada archivo que npm extrae pasa por el sandbox del trabajo. Cada ejecución posterior con el mismo lockfile tarda 0,09 s.

Medido el 1 de noviembre de 2026 con el mismo .github/workflows/ci.yml en ambas plataformas (GitHub en ubuntu-latest), en un repositorio de pruebas de rendimiento. Medianas de 3 ejecuciones, en segundos; las ejecuciones en caliente tenían las cachés de cada plataforma preparadas. Las cifras en frío de GitHub provienen de una única primera ejecución.

Una configuración que ya conoces

Escribe .enzonic/ci.yml o mantén tus workflows de GitHub Actions: Enzonic CI ejecuta un subconjunto compatible de .github/workflows e informa de lo que no puede ejecutar, como acciones no compatibles, runners de Windows o macOS y workflows reutilizables, con un mensaje.

Qué inicia una ejecución

  • Pushes y etiquetas
  • Pull requests
  • Programaciones
  • Ejecuciones manuales desde la consola y ejecuciones iniciadas desde la API

Los trabajos se ejecutan en runners Linux. Cada trabajo tiene su propio sandbox de gVisor, sin acceso a redes privadas.

.enzonic/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  test:
    image: node:22-bookworm-slim
    services:
      postgres:
        image: postgres:17-alpine
        env:
          POSTGRES_PASSWORD: postgres
    env:
      DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
    steps:
      - name: Install
        run: npm ci
      - name: Test
        run: npm test

Un ejemplo. La referencia de CI en la documentación enumera cada clave y acción compatible.

Cada push y pull request en una sola lista

Ejecuciones de cada repositorio conectado, con su estado, evento, rama, commit y duración. La lista se actualiza mientras algo se ejecuta, y cada ejecución informa de un check en GitHub.

Enzonic CI: las ejecuciones de cada pipeline con su estado, rama, commit y duración

Qué hace

Builds en matriz y dependencias entre trabajos
Divide el trabajo en trabajos, reparte la ejecución en una matriz y ordena los trabajos con needs.
Contenedores de servicio
Inicia Postgres u otro servicio junto a un trabajo; se une a la red del trabajo durante toda la ejecución.
Un sandbox por trabajo
Cada trabajo se ejecuta en su propio sandbox de gVisor, en su propia red, sin acceso a redes privadas.
Registros en vivo y artefactos
Sigue cada paso mientras se ejecuta, vuelve a ejecutar los trabajos que fallaron y descarga los artefactos mientras tu plan los conserve.
Pull requests seguras desde forks
Las ejecuciones de pull requests desde forks no reciben secretos por defecto.
Correcciones para trabajos fallidos
Enzica, el asistente de Enzonic, puede leer los registros de un trabajo fallido y proponer una corrección que revisas antes de que cambie nada.

Cachés de dependencias

Las cachés se guardan por repositorio dentro del tamaño de caché de tu plan.

  • npm
  • pnpm
  • Yarn
  • Bun
  • pip
  • Go
  • Cargo
  • Maven
  • Gradle

Límites de CI por plan

Los minutos de CI se reinician cada mes y se cuentan por trabajo terminado. Los planes de pago añaden minutos, trabajos en paralelo, una caché más grande y una retención más larga.

PlanFreeGratisStarter5 US$ al mesPro10 US$ al mesGrowth19 US$ al mesBusiness29 US$ al mes
Minutos de CI3000 al mes5000 al mes6000 al mes15.000 al mes60.000 al mes
Trabajos al mismo tiempo2461020
Tiempo límite por trabajo360 min360 min360 min480 min720 min
Caché de dependencias2 GB5 GB10 GB20 GB50 GB
Artefactos conservados90 días90 días90 días180 días400 días
Registros conservados14 días30 días30 días60 días90 días
  • 50 % de descuento en tu primer mes de pago
  • 25 % de descuento cada mes con un plan de juegos de pago de Enzonic

Precios en dólares estadounidenses. Los planes de pago se renuevan cada mes con tu saldo de Enzonic, o con tarjeta cuando el saldo está vacío. El plan gratuito nunca pide tarjeta. La consola siempre muestra los límites de tu plan actual.

Compara todos los límites en enzonic.dev

Subvenciones de Cloud

Tiempo gratis de Pro o Business y hasta 500 US$ de crédito de Cloud para quienes crean para otros.

  • Pro o Business durante 3, 6 o 12 meses
  • Hasta 500 US$ de crédito de Cloud en tu saldo de Enzonic
  • Una ayuda cubre Deploy, Databases, CI y los límites de Rapidfile del plan
  • Las revisa una persona, normalmente en pocos días

Solicítalo con el formulario de enzonic.dev. Solo necesitas una cuenta gratuita de Enzonic, sin tarjeta.

  • Código abierto
  • Estudiantes
  • Organizaciones sin ánimo de lucro
  • Startups
  • Educadores
  • Hackathons

Preguntas

A menudo no. Enzonic CI lee .enzonic/ci.yml o un subconjunto compatible de .github/workflows. Los pasos que no puede ejecutar, como los runners de Windows o macOS y los workflows reutilizables, se informan con un mensaje claro en lugar de fallar en silencio.

Conecta un repositorio y deja que el próximo push se ejecute.

¿También despliegas la app, alojas su base de datos o sus subidas?