Enzonic CI
CI สำหรับ repository บน GitHub ของคุณ บน runner ของ Enzonic
Enzonic CI รันการทดสอบและการ build ของคุณทุกครั้งที่มี push และ pull request โดยแต่ละงานทำงานใน sandbox ของตัวเองบน Linux runner ที่ Enzonic ดูแลเอง ล็อกสด แคชของ dependency และ artifact อยู่บนบัญชีและแพ็กเกจเดียวกับ Deploy และ Databases
รวมอยู่ในทุกแพ็กเกจ รวมถึงแพ็กเกจฟรีด้วย นาที CI, jobs ที่ทำงานพร้อมกัน และระยะเวลาเก็บข้อมูล มาพร้อมกับแพ็กเกจของคุณ

เร็วกว่า GitHub Actions บน workflow เดียวกัน
workflow เดียวกันรันบนทั้งสองแพลตฟอร์ม: job Node ที่ใช้ npm ci และชุดทดสอบ vitest กับ job Go ที่ใช้ go test ค่าที่ต่ำกว่าดีกว่า
| ขั้นตอน | Enzonic CI | GitHub Actions |
|---|---|---|
| ทั้งการรัน ตั้งแต่ push จนทุก job เสร็จ (cache ที่อุ่นแล้ว) | 22 วิ | 37 วิ |
| Checkout | 0.06 วิ | 1 วิ |
| npm ci ที่มี cache อุ่นแล้ว | 0.09 วิ | 3 วิ |
| go test ที่ cache ยังเย็นอยู่ | 2.8 วิ | 20 วิ |
| Go job ตั้งแต่เริ่มจนจบ (cache ที่อุ่นแล้ว) | 2 วิ | 11 วิ |
จุดที่เรายังช้ากว่า: npm ci ครั้งแรกหลังมีการเปลี่ยน lockfile ใช้เวลา 6.8 วิ ในขณะที่ GitHub ใช้ 4 วิ เพราะทุกไฟล์ที่ npm แตกออกมาต้องผ่าน sandbox ของ job ส่วนการรันถัดไปทุกครั้งที่ใช้ lockfile เดิมใช้เวลา 0.09 วิ
วัดเมื่อ 1 พฤศจิกายน 2569 ด้วยไฟล์ .github/workflows/ci.yml เดียวกันบนทั้งสองแพลตฟอร์ม (GitHub บน ubuntu-latest) ใน benchmark repository ค่ามัธยฐานจาก 3 การรัน หน่วยเป็นวินาที การรันแบบอุ่นใช้ cache ของแต่ละแพลตฟอร์ม ค่าแบบเย็นของ GitHub มาจากการรันครั้งแรกเพียงครั้งเดียว
การกำหนดค่าที่คุณคุ้นเคยอยู่แล้ว
เขียน .enzonic/ci.yml หรือใช้ workflow ของ GitHub Actions ต่อได้: Enzonic CI รันชุดย่อยที่รองรับของ .github/workflows และแจ้งสิ่งที่รันไม่ได้ เช่น action ที่ไม่รองรับ runner ของ Windows หรือ macOS และ reusable workflow พร้อมข้อความอธิบาย
อะไรที่เริ่มการรัน
- Push และ tag
- Pull request
- ตารางเวลา
- การรันด้วยตนเองจากคอนโซล และการรันที่เริ่มจาก API
งานรันบน Linux runner แต่ละงานได้ gVisor sandbox ของตัวเอง โดยไม่สามารถเข้าถึงเครือข่ายส่วนตัวได้
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 reference ในเอกสารประกอบจะแสดงทุกคีย์และ action ที่รองรับ
ทุก push และ pull request อยู่ในรายการเดียว
การรันของทุก repository ที่เชื่อมต่อ พร้อมสถานะ event branch commit และระยะเวลา รายการจะรีเฟรชขณะมีงานกำลังทำงาน และแต่ละการรันจะรายงานผลการตรวจสอบบน GitHub

ทำอะไรได้บ้าง
- Matrix build และ job dependency
- แบ่งงานเป็นหลาย job กระจายงานตาม matrix และเรียงลำดับ job ด้วย needs
- Service container
- เริ่ม Postgres หรือ service อื่นควบคู่กับ job service จะเข้าร่วมเครือข่ายของ job ตลอดระยะเวลาการรัน
- หนึ่ง sandbox ต่อหนึ่ง job
- แต่ละ job รันใน gVisor sandbox ของตัวเองบนเครือข่ายของตัวเอง โดยไม่สามารถเข้าถึงเครือข่ายส่วนตัวได้
- ล็อกสดและ artifact
- ติดตามแต่ละขั้นตอนขณะที่กำลังรัน รันงานที่ล้มเหลวอีกครั้ง และดาวน์โหลด artifact ได้ตราบเท่าที่แพ็กเกจของคุณเก็บไว้
- Pull request จาก fork อย่างปลอดภัย
- การรันสำหรับ pull request จาก fork จะไม่ได้รับ secret เป็นค่าเริ่มต้น
- แก้ไข job ที่ล้มเหลว
- Enzica ผู้ช่วยของ Enzonic อ่านล็อกของ job ที่ล้มเหลวได้ และเสนอการแก้ไขให้คุณตรวจสอบก่อนมีการเปลี่ยนแปลงใดๆ
แคช dependency
แคชเก็บแยกตามแต่ละ repository ภายในขนาดแคชของแพ็กเกจคุณ
- npm
- pnpm
- Yarn
- Bun
- pip
- Go
- Cargo
- Maven
- Gradle
ขีดจำกัด CI ของแต่ละแพ็กเกจ
นาที CI รีเซ็ตทุกเดือนและนับต่อหนึ่ง job ที่เสร็จสิ้น แพ็กเกจแบบชำระเงินเพิ่มนาที งานคู่ขนาน แคชที่ใหญ่ขึ้น และระยะเวลาเก็บที่นานขึ้น
| แพ็กเกจ | ฟรีฟรี | StarterUS$5 ต่อเดือน | ProUS$10 ต่อเดือน | GrowthUS$19 ต่อเดือน | BusinessUS$29 ต่อเดือน |
|---|---|---|---|---|---|
| นาที CI | 3,000 ต่อเดือน | 5,000 ต่อเดือน | 6,000 ต่อเดือน | 15,000 ต่อเดือน | 60,000 ต่อเดือน |
| งานที่ทำพร้อมกัน | 2 | 4 | 6 | 10 | 20 |
| เวลาสูงสุดต่อ job | 360 นาที | 360 นาที | 360 นาที | 480 นาที | 720 นาที |
| แคช dependency | 2 GB | 5 GB | 10 GB | 20 GB | 50 GB |
| artifact ที่เก็บไว้ | 90 วัน | 90 วัน | 90 วัน | 180 วัน | 400 วัน |
| ล็อกที่เก็บไว้ | 14 วัน | 30 วัน | 30 วัน | 60 วัน | 90 วัน |
- ส่วนลด 50% สำหรับเดือนแรกที่ชำระเงิน
- ส่วนลด 25% ทุกเดือนเมื่อมีแพ็กเกจเกม Enzonic แบบเสียเงิน
ราคาเป็นดอลลาร์สหรัฐ แพ็กเกจแบบเสียเงินจะต่ออายุทุกเดือนจากยอดคงเหลือ Enzonic ของคุณ หรือด้วยบัตรเมื่อยอดคงเหลือหมด แพ็กเกจฟรีจะไม่ขอบัตรเลย คอนโซลจะแสดงขีดจำกัดของแพ็กเกจปัจจุบันของคุณเสมอ
ทุนสนับสนุน Cloud
เวลา Pro หรือ Business ฟรีและเครดิต Cloud สูงสุด US$500 สำหรับผู้ที่สร้างงานให้ผู้อื่น
- Pro หรือ Business เป็นเวลา 3, 6 หรือ 12 เดือน
- เครดิต Cloud สูงสุด US$500 ในยอดคงเหลือ Enzonic ของคุณ
- เงินอุดหนุนหนึ่งรายการครอบคลุม Deploy, Databases, CI และขีดจำกัด Rapidfile ของแพ็กเกจ
- มีคนอ่านคำขอ และมักตอบภายในไม่กี่วัน
สมัครด้วยแบบฟอร์มบน enzonic.dev เพียงมีบัญชี Enzonic ฟรีก็พอ และไม่ต้องใช้บัตร
- โอเพนซอร์ส
- นักเรียนนักศึกษา
- องค์กรไม่แสวงหากำไร
- สตาร์ทอัพ
- ผู้สอน
- Hackathons
คำถาม
เชื่อมต่อ repository แล้วปล่อยให้ push ถัดไปรันได้เลย
คุณจะ Deploy แอป โฮสต์ฐานข้อมูล หรือไฟล์อัปโหลดของแอปด้วยหรือไม่?