𝗕𝘂𝗶𝗹𝗱 𝗔 𝗟𝗼𝗰𝗮𝗹 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻 𝗦𝘁𝘂𝗱𝗶𝗼

เลิกเสียเวลารอ 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 พื้นฐาน แล้วค่อยขยายตามขนาดของทีม

Source: https://dev.to/therizwansaleem/building-a-developer-friendly-automation-studio-end-to-end-local-pipelines-for-modern-cicd-5942