𝗕𝘂𝗶𝗹𝗱 𝗔 𝗟𝗼𝗰𝗮𝗹 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻 𝗦𝘁𝘂𝗱𝗶𝗼
เลิกเสียเวลารอ CI pipeline ที่ล่าช้า สร้าง local automation studio ของคุณเอง คุณจะได้รับ feedback ที่รวดเร็วจากการเปลี่ยนแปลงโค้ดของคุณ
studio ของคุณต้องมีส่วนประกอบเหล่านี้:
- Orchestrator: สมองกล ทำหน้าที่ติดตามงาน (jobs)
- Tasks: หน่วยย่อย ทำหน้าที่ lint หรือทดสอบโค้ด
- Runners: เครื่องยนต์ ทำหน้าที่รัน tasks แบบแยกส่วน (isolation)
- Config: ไฟล์ YAML ทำหน้าที่กำหนดขั้นตอนการทำงาน (recipes)
- State store: ไฟล์และ log ต่างๆ ในเครื่อง
ทำไมต้องเน้น Local-first?
- ทำงานได้โดยไม่ต้องใช้อินเทอร์เน็ต
- ทำ Cache ผลลัพธ์เพื่อประหยัดเวลา
- มั่นใจในระบบ automation ของคุณก่อนที่จะ push โค้ด
วิธีการสร้าง:
- เริ่มต้นด้วย Python runner ง่ายๆ
- ใช้ YAML ในการระบุรายการ tasks
- เพิ่ม CLI สำหรับรัน pipelines
- สร้างระบบ cache เพื่อหลีกเลี่ยงการทำงานซ้ำซ้อน
สิ่งที่ควรหลีกเลี่ยง:
- การทำให้เวอร์ชันแรกซับซ้อนเกินไป
- การใช้ tasks ที่ให้ผลลัพธ์ไม่แน่นอน
- การซ่อน dependencies ไว้ใน graph
เริ่มจากจุดเล็กๆ สร้าง MVP พื้นฐาน แล้วค่อยขยายตามขนาดของทีม