Skip to content

Enzonic CI

CI GitHub-repositoriosi, Enzonic-runnereilla.

Enzonic CI ajaa testit ja buildit jokaisella pushilla ja pull requestilla, ja jokainen työ ajetaan omassa sandboxissaan Linux-runnereilla, joita Enzonic itse ylläpitää. Reaaliaikaiset lokit, riippuvuusvälimuistit ja artefaktit samalla tilillä ja paketilla kuin Deploy ja Databases.

Sisältyy jokaiseen pakettiin, myös Free-pakettiin. CI-minuutit, rinnakkaiset työt ja säilytysaika tulevat paketin mukana.

Enzonic CI: kolmen repositorion putket viimeisimpine ajoineen ja selitys konfiguraatio-ongelmasta

Nopeampi kuin GitHub Actions samalla työnkululla

Yksi työnkulku ajettuna molemmilla alustoilla: Node-työ npm ci:llä ja vitest-sviitillä sekä Go-työ go testillä. Pienempi on parempi.

VaiheEnzonic CIGitHub Actions
Koko ajo, pushista kaikkien töiden valmistumiseen (lämpimät välimuistit)37 s
Checkout1 s
npm ci lämpimällä välimuistilla3 s
go test kylmillä välimuisteilla20 s
Go-työ alusta loppuun (lämpimät välimuistit)11 s

Missä olemme hitaampia: ensimmäinen npm ci lockfile-muutoksen jälkeen kestää 6,8 s, kun GitHubissa vastaava kestää 4 s, koska jokainen npm:n purkama tiedosto kulkee työn sandboxin läpi. Jokainen myöhempi ajo samalla lockfilella kestää 0,09 s.

Mitattu 1. marraskuuta 2026 samalla .github/workflows/ci.yml-tiedostolla molemmilla alustoilla (GitHub ubuntu-latest-ympäristössä) vertailuvarastossa. Mediaanit 3 ajosta sekunneissa; lämpimissä ajoissa kummankin alustan välimuistit olivat valmiina. GitHubin kylmät luvut ovat yhdestä ensimmäisestä ajosta.

Konfiguraatio, jonka jo tunnet

Kirjoita .enzonic/ci.yml tai pidä GitHub Actions -työnkulkusi: Enzonic CI ajaa tuetun osajoukon kohteesta .github/workflows ja ilmoittaa, mitä se ei voi ajaa, kuten tukemattomat actionit, Windows- ja macOS-runnerit sekä uudelleenkäytettävät työnkulut, viestin kanssa.

Mikä käynnistää ajon

  • Pushit ja tagit
  • Pull requestit
  • Aikataulut
  • Manuaaliset ajot konsolista ja API:sta käynnistetyt ajot

Työt ajetaan Linux-runnereilla. Jokaisella työllä on oma gVisor-sandbox, eikä sillä ole pääsyä yksityisiin verkkoihin.

.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

Esimerkki. Dokumentaation CI-viite luettelee kaikki tuetut avaimet ja actionit.

Kaikki pushit ja pull requestit yhdessä listassa

Kaikkien yhdistettyjen repositorioiden ajot tilan, tapahtuman, haaran, commitin ja keston kanssa. Lista päivittyy, kun jokin on käynnissä, ja jokainen ajo raportoi tarkistuksen GitHubiin.

Enzonic CI: jokaisen putken ajot tilan, haaran, commitin ja keston kanssa

Mitä se tekee

Matriisibuildit ja työriippuvuudet
Jaa työ töihin, hajauta matriisin yli ja järjestä työt needs-avaimella.
Palvelukontit
Käynnistä Postgres tai muu palvelu työn rinnalla; se liittyy työn verkkoon ajon ajaksi.
Yksi sandbox jokaiselle työlle
Jokainen työ ajetaan omassa gVisor-sandboxissaan omassa verkossaan, eikä sillä ole pääsyä yksityisiin verkkoihin.
Live-lokit ja artefaktit
Seuraa jokaista vaihetta sen ajon aikana, aja epäonnistuneet työt uudelleen ja lataa artefaktit niin kauan kuin paketti niitä säilyttää.
Turvalliset pull requestit forkeista
Forkeista tulevien pull requestien ajot eivät saa salaisuuksia oletuksena.
Korjaukset epäonnistuneille töille
Enzica, Enzonicin avustaja, voi lukea epäonnistuneen työn lokit ja ehdottaa korjausta, jonka tarkistat ennen kuin mitään muuttuu.

Riippuvuusvälimuistit

Välimuistit säilytetään repositoriokohtaisesti paketin välimuistikoon rajoissa.

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

CI-rajat paketeittain

CI-minuutit nollautuvat joka kuukausi ja lasketaan valmistuneen työn mukaan. Maksulliset paketit lisäävät minuutteja, rinnakkaisia töitä, suuremman välimuistin ja pidemmän säilytysajan.

PakettiIlmainenIlmainenStarter5 $ kuukaudessaPro10 $ kuukaudessaGrowth19 $ kuukaudessaBusiness29 $ kuukaudessa
CI-minuutit3 000 kuukaudessa5 000 kuukaudessa6 000 kuukaudessa15 000 kuukaudessa60 000 kuukaudessa
Työt samanaikaisesti2461020
Työn aikaraja360 min360 min360 min480 min720 min
Riippuvuusvälimuisti2 GB5 GB10 GB20 GB50 GB
Säilytetyt artefaktit90 päivää90 päivää90 päivää180 päivää400 päivää
Säilytetyt lokit14 päivää30 päivää30 päivää60 päivää90 päivää
  • 50 % alennus ensimmäiseltä maksulliselta kuukaudelta
  • 25 % alennus joka kuukausi maksullisella Enzonic-pelipaketilla

Hinnat ovat Yhdysvaltain dollareina. Maksulliset paketit uusiutuvat kuukausittain Enzonic-saldostasi tai kortilla, kun saldo on tyhjä. Ilmainen paketti ei koskaan pyydä korttia. Konsoli näyttää aina nykyisen pakettisi rajat.

Vertaa kaikkia rajoja osoitteessa enzonic.dev

Cloud-apurahat

Ilmaista Pro- tai Business-aikaa ja jopa 500 $ Cloud-krediittiä ihmisille, jotka rakentavat muille.

  • Pro tai Business 3, 6 tai 12 kuukaudeksi
  • Jopa 500 $ Cloud-krediittiä Enzonic-saldollesi
  • Yksi apuraha kattaa Deploy-, Databases-, CI- ja paketin Rapidfile-rajat
  • Ihminen lukee hakemukset, yleensä vastaus muutaman päivän sisällä

Hae enzonic.dev-sivuston lomakkeella. Riität ilmaisella Enzonic-tilillä, eikä korttia tarvita.

  • Avoin lähdekoodi
  • Opiskelijat
  • Voittoa tavoittelemattomat järjestöt
  • Startupit
  • Opettajat
  • Hackathonit

Kysymyksiä

Yleensä ei. Enzonic CI lukee tiedoston .enzonic/ci.yml tai tuetun osajoukon kohteesta .github/workflows. Vaiheet, joita se ei voi ajaa, kuten Windows- ja macOS-runnerit sekä uudelleenkäytettävät työnkulut, ilmoitetaan selkeällä viestillä sen sijaan, että ne epäonnistuisivat hiljaa.

Yhdistä repo ja anna seuraavan pushin ajaa.

Julkaisetko myös sovelluksen, isännöit sen tietokannan tai latauksesi?