Skip to content

Enzonic CI

CI για τα αποθετήριά σας στο GitHub, σε runners της Enzonic.

Το Enzonic CI εκτελεί τα τεστ και τα builds σας σε κάθε push και pull request, με κάθε εργασία στο δικό της sandbox σε runners Linux που λειτουργεί η Enzonic. Ζωντανά logs, cache εξαρτήσεων και artifacts, με τον ίδιο λογαριασμό και πρόγραμμα με το Deploy και τα Databases.

Περιλαμβάνεται σε κάθε πρόγραμμα, και στο Free. Τα λεπτά CI, οι παράλληλες εργασίες και η διατήρηση έρχονται με το πρόγραμμά σας.

Enzonic CI: pipelines τριών αποθετηρίων με τις τελευταίες εκτελέσεις τους και ένα πρόβλημα ρύθμισης εξηγημένο

Ταχύτερο από το GitHub Actions στην ίδια ροή εργασιών

Μία ροή εργασιών, εκτελεσμένη και στις δύο πλατφόρμες: μια εργασία Node με npm ci και σουίτα vitest, και μια εργασία Go με go test. Το χαμηλότερο είναι καλύτερο.

ΒήμαEnzonic CIGitHub Actions
Ολόκληρη η εκτέλεση, από το push μέχρι να ολοκληρωθούν όλες οι εργασίες (ζεστές cache)37 s
Checkout1 s
npm ci με ζεστή cache3 s
go test με κρύες cache20 s
Εργασία Go, από την αρχή ως το τέλος (ζεστές cache)11 s

Όπου είμαστε πιο αργοί: το πρώτο npm ci μετά από αλλαγή του lockfile διαρκεί 6,8 s, έναντι 4 s στο GitHub, επειδή κάθε αρχείο που αποσυμπιέζει το npm περνά από το sandbox της εργασίας. Κάθε μεταγενέστερη εκτέλεση με το ίδιο lockfile διαρκεί 0,09 s.

Μετρήθηκε στις 1 Νοεμβρίου 2026 με το ίδιο .github/workflows/ci.yml και στις δύο πλατφόρμες (GitHub σε ubuntu-latest), σε αποθετήριο δοκιμών. Διάμεσοι όροι από 3 εκτελέσεις, σε δευτερόλεπτα· στις ζεστές εκτελέσεις, κάθε πλατφόρμα είχε τις cache της. Οι κρύες τιμές του GitHub προέρχονται από μία μόνο πρώτη εκτέλεση.

Ρύθμιση που ήδη γνωρίζετε

Γράψτε το .enzonic/ci.yml ή κρατήστε τα workflows του GitHub Actions: το Enzonic CI εκτελεί ένα υποστηριζόμενο υποσύνολο των .github/workflows και αναφέρει με ένα μήνυμα ό,τι δεν μπορεί να εκτελέσει, όπως μη υποστηριζόμενες ενέργειες, runners Windows ή macOS και επαναχρησιμοποιούμενα workflows.

Τι ξεκινά μια εκτέλεση

  • Pushes και tags
  • Pull requests
  • Προγραμματισμοί
  • Χειροκίνητες εκτελέσεις από την κονσόλα και εκτελέσεις που ξεκινούν από το API

Οι εργασίες εκτελούνται σε runners Linux. Κάθε εργασία παίρνει το δικό της sandbox gVisor, χωρίς πρόσβαση σε ιδιωτικά δίκτυα.

.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

Ένα παράδειγμα. Η αναφορά CI στην τεκμηρίωση απαριθμεί κάθε υποστηριζόμενο κλειδί και ενέργεια.

Κάθε push και pull request σε μία λίστα

Οι εκτελέσεις κάθε συνδεδεμένου αποθετηρίου με την κατάστασή τους, το γεγονός, το branch, το commit και τη διάρκεια. Η λίστα ανανεώνεται όσο κάτι εκτελείται, και κάθε εκτέλεση αναφέρει ένα check στο GitHub.

Enzonic CI: οι εκτελέσεις κάθε pipeline με την κατάσταση, το branch, το commit και τη διάρκειά τους

Τι κάνει

Builds σε matrix και εξαρτήσεις εργασιών
Χωρίστε τη δουλειά σε εργασίες, διανείμετέ την σε ένα matrix και ταξινομήστε τις εργασίες με needs.
Containers υπηρεσιών
Εκκινήστε Postgres ή άλλη υπηρεσία δίπλα σε μια εργασία· συνδέεται στο δίκτυο της εργασίας για όλη τη διάρκεια της εκτέλεσης.
Ένα sandbox ανά εργασία
Κάθε εργασία εκτελείται στο δικό της sandbox gVisor, στο δικό της δίκτυο, χωρίς πρόσβαση σε ιδιωτικά δίκτυα.
Ζωντανά logs και artifacts
Παρακολουθήστε κάθε βήμα καθώς εκτελείται, ξανατρέξτε τις εργασίες που απέτυχαν και κατεβάστε artifacts όσο τα διατηρεί το πρόγραμμά σας.
Ασφαλή pull requests από forks
Οι εκτελέσεις για pull requests από forks δεν λαμβάνουν μυστικά κλειδιά από προεπιλογή.
Διορθώσεις για αποτυχημένες εργασίες
Το Enzica, ο βοηθός της Enzonic, μπορεί να διαβάσει τα logs μιας αποτυχημένης εργασίας και να προτείνει διόρθωση που εγκρίνετε πριν αλλάξει οτιδήποτε.

Cache εξαρτήσεων

Οι cache διατηρούνται ανά αποθετήριο, εντός του μεγέθους cache του προγράμματός σας.

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

Όρια CI ανά πρόγραμμα

Τα λεπτά CI επαναφέρονται κάθε μήνα και μετρώνται ανά ολοκληρωμένη εργασία. Τα πληρωμένα προγράμματα προσθέτουν λεπτά, παράλληλες εργασίες, μεγαλύτερη cache και μεγαλύτερη διατήρηση.

ΠρόγραμμαΔωρεάνΔωρεάνStarter5 $ τον μήναPro10 $ τον μήναGrowth19 $ τον μήναBusiness29 $ τον μήνα
Λεπτά CI3.000 τον μήνα5.000 τον μήνα6.000 τον μήνα15.000 τον μήνα60.000 τον μήνα
Εργασίες ταυτόχρονα2461020
Χρονικό όριο εργασίας360 λεπτά360 λεπτά360 λεπτά480 λεπτά720 λεπτά
Cache εξαρτήσεων2 GB5 GB10 GB20 GB50 GB
Artifacts που διατηρούνται90 ημέρες90 ημέρες90 ημέρες180 ημέρες400 ημέρες
Logs που διατηρούνται14 ημέρες30 ημέρες30 ημέρες60 ημέρες90 ημέρες
  • Έκπτωση 50% στον πρώτο επί πληρωμή μήνα σας
  • Έκπτωση 25% κάθε μήνα με επί πληρωμή πρόγραμμα παιχνιδιών της Enzonic

Οι τιμές είναι σε δολάρια ΗΠΑ. Τα επί πληρωμή προγράμματα ανανεώνονται μηνιαία από το υπόλοιπο Enzonic σας, ή με κάρτα όταν το υπόλοιπο είναι μηδέν. Το δωρεάν πρόγραμμα δεν ζητά ποτέ κάρτα. Η κονσόλα εμφανίζει πάντα τα όρια του τρέχοντος προγράμματός σας.

Συγκρίνετε όλα τα όρια στο enzonic.dev

Επιχορηγήσεις Cloud

Δωρεάν χρόνος Pro ή Business και έως 500 $ πίστωση Cloud για όσους δημιουργούν για άλλους.

  • Pro ή Business για 3, 6 ή 12 μήνες
  • Έως 500 $ πίστωση Cloud στο υπόλοιπο Enzonic σας
  • Μία επιχορήγηση καλύπτει τα Deploy, Databases, CI και τα όρια Rapidfile του προγράμματος
  • Διαβάζεται από άνθρωπο, συνήθως απαντάται μέσα σε λίγες ημέρες

Κάντε αίτηση με τη φόρμα στο enzonic.dev. Αρκεί ένας δωρεάν λογαριασμός Enzonic, χωρίς κάρτα.

  • Ανοιχτός κώδικας
  • Φοιτητές
  • Μη κερδοσκοπικοί οργανισμοί
  • Startups
  • Εκπαιδευτικοί
  • Hackathons

Ερωτήσεις

Συχνά όχι. Το Enzonic CI διαβάζει το .enzonic/ci.yml ή ένα υποστηριζόμενο υποσύνολο των .github/workflows. Βήματα που δεν μπορεί να εκτελέσει, όπως runners Windows ή macOS και επαναχρησιμοποιούμενα workflows, αναφέρονται με ένα σαφές μήνυμα αντί να αποτύχουν σιωπηλά.

Συνδέστε ένα αποθετήριο και αφήστε το επόμενο push να τρέξει.

Κάνετε deploy και την εφαρμογή, φιλοξενείτε τη βάση της ή τα uploads της;