ข้ามไปยังเนื้อหา

Dev Machines

สภาพแวดล้อมสำหรับพัฒนาและทดสอบแบบแยกอิสระ รันบน Linux เต็มรูปแบบ ขับเคลื่อนโดย Proyecta Cloud

Proyecta จะจัดสรร dev machine (runtime) แบบเฉพาะเจาะจงให้กับแต่ละโปรเจกต์ ซึ่งเป็น container แบบแยกอิสระที่มี Linux environment เต็มรูปแบบ สำหรับรันแอปของคุณระหว่างการพัฒนา

เมื่อคุณเปิดโปรเจกต์ Proyecta จะ:

  1. สร้าง container (pod) แบบแยกอิสระบนคลาวด์
  2. Clone โค้ดของคุณจาก GitHub
  3. ติดตั้ง dependency และตั้งค่า environment
  4. เริ่ม development server ของแอปคุณ
  5. แสดง live preview ใน builder

คุณสามารถดูความคืบหน้าการจัดสรรได้ที่ Runtime Status Bar ด้านล่างของ toolbar

Status bar จะแสดงขั้นตอนเหล่านี้ระหว่างการเริ่มต้น:

ขั้นตอนคำอธิบาย
Creating podกำลังสร้าง container แบบแยกอิสระ
Health checkตรวจสอบว่า container ทำงานได้ปกติ
Git initกำลัง clone repository ของคุณ
Environment setupติดตั้ง dependency (npm, pip ฯลฯ)
Starting servicesเริ่มแอปและ infrastructure
ReadyDev machine พร้อมใช้งานเต็มรูปแบบแล้ว

หาก preview ไม่โหลด หรือเครื่องดูเหมือนค้างอยู่:

  1. ตรวจสอบ Runtime Status Bar เพื่อดูข้อความแสดงข้อผิดพลาด
  2. ลองใช้ Terminal เพื่อตรวจสอบ log
  3. หากยังแก้ไขไม่ได้ ให้ขอให้ AI ช่วย debug ปัญหา

Dev machine ของคุณสามารถรวม sidecar container สำหรับฐานข้อมูลและบริการต่างๆ ได้:

  • PostgreSQL — ฐานข้อมูล relational (port 5432)
  • PostGIS — PostgreSQL พร้อม geospatial extensions (port 5432)
  • Redis — In-memory cache (port 6379)
  • MongoDB — ฐานข้อมูลแบบ document (port 27017)
  • MySQL — ฐานข้อมูล relational (port 3306)
  • MailHog — Email testing server พร้อม web UI (SMTP port 1025, UI port 8025)

ดูบริการที่กำลังรันและสถานะของบริการได้ที่แผง Services

Dev machine จะผ่านสถานะวงจรชีวิตเหล่านี้:

สถานะคำอธิบาย
Pendingรอการสร้าง
Initializingกำลังตั้งค่า environment
Runningทำงานอยู่และปกติดี
Suspendedหยุดชั่วคราวเพื่อประหยัดทรัพยากร (กลับมาทำงานได้เร็ว)
Archivedจัดเก็บใน cold storage (ใช้เวลานานกว่าในการกู้คืน)
Restoringกำลังกู้คืนจาก archived storage
Failedการจัดสรรหรือการทำงานล้มเหลว — สามารถทำการ provision ใหม่ได้
Terminatedหยุดการทำงานถาวร

เครื่องจะ suspend โดยอัตโนมัติหลังจากไม่มีการใช้งาน 60 นาที และจะ archive หลังจาก suspend ไป 24 ชั่วโมง

หาก dev machine หยุดทำงาน จะเกิดอะไรขึ้นกับแอปที่ publish ไว้?

backend ของแอป (Convex serverless functions และฐานข้อมูล) รันบน cloud infrastructure ของ Convex เอง และยังคงพร้อมใช้งานโดยไม่ขึ้นกับสถานะของ dev machine อย่างไรก็ตาม ไฟล์ frontend ของแอปจะถูก serve จาก dev machine — หากเครื่อง suspend หรือ archive อยู่ ผู้เข้าชมจะพบข้อผิดพลาด 503 จนกว่าเครื่องจะกลับมาทำงาน โปรดคำนึงถึงเรื่องนี้สำหรับแอปที่ต้องการให้เข้าถึงได้สาธารณะตลอดเวลา การ resume เครื่องจะทำให้เว็บไซต์กลับมาทำงานได้ปกติ

สามารถใช้ dev machine ที่เร็วกว่านี้ได้ไหม?

ปัจจุบัน dev machine ทุกเครื่องรันด้วยการจัดสรรทรัพยากรเท่ากัน หากต้องการความสามารถมากขึ้นสำหรับโปรเจกต์ขนาดใหญ่ โปรดติดต่อฝ่ายสนับสนุน

สามารถเข้าถึง dev machine โดยตรงได้ไหม?

ได้ ใช้ Terminal ในตัวเพื่อเข้าถึง shell เต็มรูปแบบของ development environment ของคุณ