Skip to content

Enzonic CI

CI для ваших репозиториев GitHub, на раннерах Enzonic.

Enzonic CI запускает тесты и сборки при каждом push и pull request, каждое задание в собственной песочнице на Linux-раннерах, которыми управляет Enzonic. Логи в реальном времени, кэши зависимостей и артефакты в том же аккаунте и тарифе, что Deploy и Databases.

Входит в каждый тариф, в том числе «Бесплатный». Минуты CI, параллельные задания и срок хранения входят в ваш тариф.

Enzonic CI: конвейеры трёх репозиториев с последними прогонами и объяснённой ошибкой конфигурации

Быстрее GitHub Actions на том же workflow

Один workflow запускается на обеих платформах: Node-задание с npm ci и набором vitest и Go-задание с go test. Меньше — лучше.

ШагEnzonic CIGitHub Actions
Весь запуск от push до завершения всех заданий (прогретые кэши)37 с
Checkout1 с
npm ci с прогретым кэшем3 с
go test с холодными кэшами20 с
Go-задание от начала до конца (прогретые кэши)11 с

Где мы медленнее: первый npm ci после изменения lockfile занимает 6,8 с, против 4 с на GitHub, потому что каждый файл, который распаковывает npm, проходит через песочницу задания. Каждый последующий запуск с тем же lockfile занимает 0,09 с.

Измерено 1 ноября 2026 г. с одинаковым .github/workflows/ci.yml на обеих платформах (GitHub на ubuntu-latest) в репозитории для бенчмарков. Медианы из 3 запусков, в секундах; в прогретых запусках кэши каждой платформы были готовы. Холодные показатели GitHub получены из одного первого запуска.

Конфигурация, которую вы уже знаете

Пишите .enzonic/ci.yml или используйте свои workflow GitHub Actions: Enzonic CI выполняет поддерживаемое подмножество .github/workflows и сообщает, что не может запустить, например неподдерживаемые действия, раннеры Windows и macOS и переиспользуемые workflow, с понятным сообщением.

Что запускает прогон

  • Push и теги
  • Pull request
  • Расписания
  • Ручной запуск из консоли и запуски через API

Задания выполняются на Linux-раннерах. Каждое задание получает собственную песочницу 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 в одном списке

Прогоны всех подключённых репозиториев со статусом, событием, веткой, коммитом и длительностью. Список обновляется, пока что-то выполняется, а каждый прогон отправляет проверку в GitHub.

Enzonic CI: прогоны всех конвейеров со статусом, веткой, коммитом и длительностью

Что это умеет

Сборки по матрице и зависимости заданий
Разделяйте работу на задания, запускайте по матрице и задавайте порядок через needs.
Контейнеры служб
Запускайте Postgres или другую службу рядом с заданием; на время прогона она подключается к сети задания.
Песочница на каждое задание
Каждое задание выполняется в собственной песочнице gVisor, в собственной сети, без доступа к закрытым сетям.
Журналы в реальном времени и артефакты
Следите за каждым шагом по мере выполнения, перезапускайте упавшие задания и скачивайте артефакты, пока ваш тариф их сохраняет.
Безопасные pull request из форков
Прогоны для pull request из форков по умолчанию не получают секреты.
Исправления упавших заданий
Enzica, помощник Enzonic, может прочитать логи упавшего задания и предложить исправление, которое вы проверите до любых изменений.

Кэши зависимостей

Кэши хранятся отдельно для каждого репозитория в пределах размера кэша вашего тарифа.

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

Лимиты CI по тарифам

Минуты CI обновляются каждый месяц и считаются за каждое завершённое задание. В платных тарифах добавляются минуты, параллельные задания, больший кэш и более долгое хранение.

ТарифБесплатныйБесплатноStarter5 $ в месяцPro10 $ в месяцGrowth19 $ в месяцBusiness29 $ в месяц
Минуты CI3 000 в месяц5 000 в месяц6 000 в месяц15 000 в месяц60 000 в месяц
Заданий одновременно2461020
Тайм-аут задания360 мин360 мин360 мин480 мин720 мин
Кэш зависимостей2 GB5 GB10 GB20 GB50 GB
Хранение артефактов90 дн.90 дн.90 дн.180 дн.400 дн.
Хранение логов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, без карты.

  • Open source
  • Студенты
  • НКО
  • Стартапы
  • Преподаватели
  • Хакатоны

Вопросы

Обычно нет. Enzonic CI читает .enzonic/ci.yml или поддерживаемое подмножество .github/workflows. Шаги, которые он не может выполнить, например раннеры Windows и macOS и переиспользуемые workflow, отмечаются понятным сообщением, а не падают молча.

Подключите репозиторий, и следующий push запустится сам.

Нужно также развернуть приложение, разместить его базу данных или загрузки?