Skip to content

Enzonic CI

面向你的 GitHub 仓库的 CI, 运行于 Enzonic 运行器。

Enzonic CI 会在每次推送和拉取请求时运行你的测试和构建,每个任务都在 Enzonic 运营的 Linux 运行器上的独立沙箱中执行。实时日志、依赖缓存和构件与 Deploy 及 Databases 使用同一账户和同一方案。

所有套餐均包含,包括免费套餐。CI 分钟数、并行作业和保留时长都随您的套餐提供。

Enzonic CI: 三个仓库的流水线,包括最近的运行和一条已说明的配置问题

同一工作流下比 GitHub Actions 更快

同一个工作流在两个平台上运行:一个包含 npm ci 和 vitest 测试套件的 Node 作业,以及一个使用 go test 的 Go 作业。数值越低越好。

步骤Enzonic CIGitHub Actions
整个运行过程,从推送到所有作业完成(缓存已预热)37 秒
Checkout1 秒
缓存已预热时的 npm ci3 秒
缓存冷启动时的 go test20 秒
Go 作业,从开始到结束(缓存已预热)11 秒

我们较慢的地方:修改 lockfile 后的第一次 npm ci 耗时 6.8 秒,而 GitHub 上为 4 秒,因为 npm 解压的每个文件都要经过作业的沙箱。之后使用同一 lockfile 的每次运行耗时 0.09 秒。

于 2026年11月1日 测量,两个平台使用相同的 .github/workflows/ci.yml(GitHub 使用 ubuntu-latest),在一个基准测试仓库中进行。取 3 次运行的中位数,单位为秒;预热运行时各平台的缓存均已就绪。GitHub 的冷启动数据来自单次首次运行。

你已熟悉的配置

编写 .enzonic/ci.yml,或保留你的 GitHub Actions 工作流:Enzonic CI 运行 .github/workflows 中受支持的子集,并对无法运行的内容给出提示,例如不受支持的 action、Windows 或 macOS 运行器以及可复用工作流。

什么会触发运行

  • 推送和标签
  • 拉取请求
  • 定时计划
  • 从控制台手动运行,以及通过 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 参考列出了所有受支持的键和 action。

所有推送和拉取请求一览

所有已连接仓库的运行记录,包括状态、事件、分支、提交和耗时。运行期间列表会自动刷新,每次运行都会在 GitHub 上报告一项检查。

Enzonic CI: 每条流水线的运行记录,包括状态、分支、提交和耗时

功能

矩阵构建和任务依赖
将工作拆分为多个任务,按矩阵展开,并用 needs 安排任务顺序。
服务容器
在任务旁启动 Postgres 或其他服务;在运行期间,它会加入该任务的网络。
每个任务一个沙箱
每个任务都在自己的网络和 gVisor 沙箱中运行,无法访问私有网络。
实时日志与构件
实时跟踪每个步骤的运行情况,重新运行失败的任务,并在方案保留期内下载构件。
来自分支的安全拉取请求
来自分支的拉取请求默认不会获得任何密钥。
修复失败的任务
Enzica 是 Enzonic 的助手,可以读取失败任务的日志,并提出修复建议,由你审阅后才会做任何更改。

依赖缓存

缓存按仓库保存,大小不超过你所在方案的缓存上限。

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

各方案的 CI 限额

CI 分钟数每月重置,并按已完成的任务计算。付费方案提供更多分钟数、并行任务、更大的缓存和更长的保留时间。

方案免费免费StarterUS$5 每月ProUS$10 每月GrowthUS$19 每月BusinessUS$29 每月
CI 分钟数每月 3,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% 折扣
  • 付费 Enzonic 游戏方案每月享 25% 折扣

价格以美元计。付费方案每月从你的 Enzonic 余额续费;余额不足时改用银行卡扣款。免费方案从不要求银行卡。控制台始终显示你当前方案的上限。

在 enzonic.dev 比较所有限额

Cloud 资助

为替他人构建产品的人士提供免费 Pro 或 Business 时长,以及最高 US$500 的 Cloud 额度。

  • 3、6 或 12 个月的 Pro 或 Business
  • Enzonic 余额中最高 US$500 的 Cloud 额度
  • 一项资助涵盖 Deploy、Databases、CI 以及该方案的 Rapidfile 限额
  • 由真人审阅,通常会在几天内回复

请使用 enzonic.dev 上的表单申请。只需一个免费的 Enzonic 账户,无需银行卡。

  • 开源项目
  • 学生
  • 非营利组织
  • 初创公司
  • 教育工作者
  • 黑客松

常见问题

通常不需要。Enzonic CI 会读取 .enzonic/ci.yml,或 .github/workflows 中受支持的子集。无法运行的步骤,例如 Windows 或 macOS 运行器以及可复用工作流,会给出明确提示,而不会静默失败。

连接一个仓库,让下一次推送开始运行。

也要部署应用、托管其数据库或上传文件吗?