Skip to content

Enzonic CI

CI pour vos dépôts GitHub, sur les runners Enzonic.

Enzonic CI exécute vos tests et vos builds à chaque push et chaque pull request, chaque job dans son propre bac à sable, sur des runners Linux exploités par Enzonic. Journaux en direct, caches de dépendances et artefacts, sur le même compte et la même offre que Deploy et Databases.

Inclus dans tous les plans, Free compris. Les minutes CI, les jobs parallèles et la durée de conservation sont inclus dans votre plan.

Enzonic CI: les pipelines de trois dépôts avec leurs dernières exécutions et un problème de configuration expliqué

Plus rapide que GitHub Actions sur le même workflow

Un seul workflow, exécuté sur les deux plateformes : un job Node avec npm ci et une suite vitest, et un job Go avec go test. Plus c'est bas, mieux c'est.

ÉtapeEnzonic CIGitHub Actions
Exécution complète, du push à la fin de chaque job (caches chauds)37 s
Checkout1 s
npm ci avec un cache chaud3 s
go test avec des caches froids20 s
Job Go, du début à la fin (caches chauds)11 s

Là où nous sommes plus lents : le premier npm ci après une modification du lockfile prend 6,8 s, contre 4 s sur GitHub, car chaque fichier extrait par npm passe par le bac à sable du job. Chaque exécution suivante avec le même lockfile prend 0,09 s.

Mesuré le 1 novembre 2026 avec le même .github/workflows/ci.yml sur les deux plateformes (GitHub sur ubuntu-latest), dans un dépôt de benchmark. Médianes de 3 exécutions, en secondes ; les exécutions à chaud avaient les caches de chaque plateforme en place. Les chiffres à froid de GitHub proviennent d'une seule première exécution.

Une configuration que vous connaissez déjà

Écrivez .enzonic/ci.yml, ou gardez vos workflows GitHub Actions : Enzonic CI exécute le sous-ensemble pris en charge de .github/workflows et signale ce qu'il ne peut pas exécuter, comme les actions non prises en charge, les runners Windows ou macOS et les workflows réutilisables, avec un message explicatif.

Ce qui lance une exécution

  • Pushes et tags
  • Pull requests
  • Planifications
  • Exécutions manuelles depuis la console et exécutions lancées depuis l'API

Les jobs s'exécutent sur des runners Linux. Chaque job dispose de son propre bac à sable gVisor, sans accès aux réseaux privés.

.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 exemple. La référence CI de la documentation liste chaque clé et chaque action prise en charge.

Chaque push et chaque pull request dans une seule liste

Les exécutions de chaque dépôt connecté, avec leur statut, leur événement, leur branche, leur commit et leur durée. La liste se met à jour pendant qu'une exécution est en cours, et chaque exécution publie un check sur GitHub.

Enzonic CI: les exécutions de chaque pipeline avec leur statut, leur branche, leur commit et leur durée

Ce qu'il permet

Builds en matrice et dépendances entre jobs
Répartissez le travail en jobs, lancez-les sur une matrice et ordonnez-les avec needs.
Conteneurs de services
Lancez Postgres ou un autre service à côté d'un job ; il rejoint le réseau du job pendant toute la durée de l'exécution.
Un bac à sable par job
Chaque job s'exécute dans son propre bac à sable gVisor, sur son propre réseau, sans accès aux réseaux privés.
Journaux en direct et artefacts
Suivez chaque étape pendant son exécution, relancez les jobs en échec et téléchargez les artefacts tant que votre plan les conserve.
Pull requests sûres depuis les forks
Les exécutions liées aux pull requests issues de forks ne reçoivent aucun secret par défaut.
Corrections pour les jobs en échec
Enzica, l'assistant d'Enzonic, peut lire les journaux d'un job en échec et proposer une correction que vous relisez avant que quoi que ce soit ne change.

Caches de dépendances

Les caches sont conservés par dépôt, dans la limite de la taille de cache de votre plan.

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

Limites de CI par plan

Les minutes CI sont réinitialisées chaque mois et comptées par job terminé. Les plans payants ajoutent des minutes, des jobs parallèles, un cache plus grand et une conservation plus longue.

OffreGratuitGratuitStarter5 $US par moisPro10 $US par moisGrowth19 $US par moisBusiness29 $US par mois
Minutes CI3 000 par mois5 000 par mois6 000 par mois15 000 par mois60 000 par mois
Jobs simultanés2461020
Délai d'un job360 min360 min360 min480 min720 min
Cache de dépendances2 GB5 GB10 GB20 GB50 GB
Artefacts conservés90 jours90 jours90 jours180 jours400 jours
Journaux conservés14 jours30 jours30 jours60 jours90 jours
  • 50 % de réduction sur votre premier mois payant
  • 25 % de réduction chaque mois avec une offre de jeu Enzonic payante

Prix en dollars américains. Les offres payantes se renouvellent chaque mois depuis votre solde Enzonic, ou par carte lorsque le solde est épuisé. L'offre gratuite ne demande jamais de carte. La console affiche toujours les limites de votre offre actuelle.

Comparer toutes les limites sur enzonic.dev

Aides Cloud

Du temps Pro ou Business gratuit et jusqu'à 500 $US de crédit Cloud pour les personnes qui créent pour les autres.

  • Pro ou Business pour 3, 6 ou 12 mois
  • Jusqu'à 500 $US de crédit Cloud sur votre solde Enzonic
  • Une subvention couvre Deploy, Databases, CI et les limites Rapidfile du plan
  • Lu par une personne, réponse généralement sous quelques jours

Faites votre demande avec le formulaire sur enzonic.dev. Un compte Enzonic gratuit suffit, et aucune carte n'est nécessaire.

  • Open source
  • Étudiants
  • Associations à but non lucratif
  • Startups
  • Enseignants
  • Hackathons

Questions

Souvent non. Enzonic CI lit .enzonic/ci.yml, ou le sous-ensemble pris en charge de .github/workflows. Les étapes qu'il ne peut pas exécuter, comme les runners Windows et macOS et les workflows réutilisables, sont signalées par un message clair au lieu d'échouer silencieusement.

Connectez un dépôt et laissez le prochain push se lancer.

Vous déployez aussi l'application, vous hébergez sa base de données ou ses envois ?