บิลด์ครั้งแรกของคุณ
walkthrough นี้สร้าง ตรวจสอบ บิลด์ และตรวจ custom image หนึ่งรายการ recipe ที่ validate แล้วเป็นการตรวจ configuration ไม่ใช่หลักฐานว่า ISO ถูกบิลด์แล้ว หรือพฤติกรรมที่ขอทุกอย่างผ่าน VM test
ก่อนเริ่ม
- ลงชื่อเข้าใช้เพื่อให้การสนทนาและ build ผูกกับบัญชีของคุณ
- เริ่มจาก OS เดียวและชุด package หรือ service เล็กๆ
- กำหนดหลักฐานที่พิสูจน์ว่าคำขอถูกตอบสนอง การมี package สถานะ service พอร์ตที่ listen และพฤติกรรม GUI เป็น assertion คนละแบบ
รอบแรกอย่าใส่ credential หรือ URL private repository ใน chat เพิ่ม secret ภายหลังผ่าน credential workflow ที่รองรับ แทนการฝังใน image
1. ระบุผลลัพธ์และการตรวจ
ตัวอย่าง:
Build a Debian 13 server image with OpenSSH and curl.
Create a password-locked deploy user in the sudo group.
Verify that the image boots, the deploy user exists, the ssh service is
enabled, and curl is installed. Do not add Docker or a desktop.การระบุสิ่งที่ไม่ต้องการอย่างชัดเจนช่วยแยก image ขั้นต่ำที่ตั้งใจ จากคำขอที่ planner แค่พลาด
2. ตรวจ recipe preview
อย่างน้อยตรวจ:
base_imageตรง distribution และ release ที่ขอ;- package ที่ขออยู่ใน
os.packagesหรือมาจาก feature ที่ระบุชัด; - user group service networking installer และ desktop ตรงคำขอ;
scenariosมีการตรวจที่คุณต้องการจริง;- ไม่มี package desktop installer credential หรือ external repository ที่ไม่ได้ขอ
ขอเปลี่ยนในการสนทนาเดิม คำขอต่อเนื่องใช้กับ recipe ที่ active เมื่อใช้ Validate Recipe backend เก็บคำขอ chat ที่มีสาระก่อนหน้า และบล็อก recipe หากยังขาด requirement ชัดเจน ประโยค control ที่ generate ไม่ได้ลบ intent ของการสนทนา
การ validate ยังพลาด package ที่ไม่มี upstream outage ความล้มเหลว build เฉพาะ distro หรือพฤติกรรมที่ไม่มี test ได้ อ่าน preview เป็นสัญญาที่เสนอ
3. เริ่ม build ครั้งเดียว
เลือก Start Build บน preview ที่ validate แล้ว คลิกสำเร็จจะสร้าง build ID เก็บ ID นั้นเมื่อรายงานปัญหา น่าเชื่อถือกว่าเปอร์เซ็นต์หรือ screenshot อย่างเดียว
build panel อาจแสดงสถานะเช่น queued planning configured building finalizing completed failed หรือ cancelled build ที่ queued อาจรอ worker capacity หรือ startup recovery เปอร์เซ็นต์ที่แสดงเป็นการคาดการณ์ความคืบหน้า ไม่ใช่ deadline บางขั้นตอน packaging และ filesystem ใช้เวลานานกว่าขั้นอื่นมาก
คุณติดตาม build ใน live build panel ได้แม้ออกจาก chat view เดิม การ reload ควร reconnect ผ่าน persisted build state และ event stream อย่าคลิก Start Build ซ้ำ เว้นแต่ UI รายงานว่าไม่มี build ID หรือ build ก่อนหน้าถึง terminal state แล้ว
4. แยกการจบ image กับการจบ test
image อาจเสร็จก่อน VM verification ที่เลือกถึง terminal state อ่านทั้งคู่:
- build status: artifact ถาวรถูกประกอบและ finalize หรือไม่;
- test status:
not_runrunningpassedfailedหรือerror; - certification status (ถ้ามี): ผลของ evidence policy ที่ตั้งค่า ไม่ใช่การรับรองความปลอดภัยหรือ hardware สากล
เปิดรายละเอียด test ยืนยันว่า assertion ที่ขอแต่ละรายการรันกับ guest ที่คาด และตรวจความล้มเหลวหรือการข้าม test boot ผ่านไม่พิสูจน์ว่า application เปิด package record ไม่พิสูจน์ว่า service สุขภาพดี
5. ตรวจและดาวน์โหลด artifact
ก่อนดาวน์โหลด เปรียบเทียบ recipe สุดท้ายกับหลักฐาน package/test กับคำขอ บันทึก build ID ชื่อไฟล์ artifact ขนาด และ checksum เมื่อแสดง
ใช้การดาวน์โหลดของ build หลัง artifact finalization เสร็จ package ดาวน์โหลดอาจมี ISO และหลักฐานที่เกี่ยวข้อง หากดาวน์โหลดคืน Failed to create download package not found หรือ JSON error อื่น:
- ยืนยันว่าลงชื่อเข้าใช้เป็นเจ้าของ build;
- เปิด build ที่ตรง ไม่ใช่การ์ดการสนทนาเก่า;
- ตรวจว่า artifact finalization เสร็จและ ISO อยู่ในรายการ;
- ลองอีกครั้งหนึ่งครั้ง;
- รายงาน build ID timestamp สถานะ build/test/finalization ที่แสดง และข้อความ error ตรงๆ
อย่า rebuild เพียงเพื่อหลบ ownership หรือ packaging error นั่นอาจทิ้ง diagnostic state ที่มีประโยชน์และใช้ build slot อีก
6. ทดสอบ ISO ในบริบทที่ตั้งใจ
การ boot ใน VM ของ OpenFactory ตรวจเฉพาะ virtual environment ที่ตั้งค่า สำหรับ desktop ที่ติดตั้งได้ ทดสอบ path installer บน disposable disk ด้วย สำหรับ deploy บน hardware จริง ทดสอบ firmware mode storage graphics networking suspend อุปกรณ์ป้อนข้อมูล updates และ recovery บน hardware ที่เป็นตัวแทนแยกต่างหาก
เส้นทาง recovery ทั่วไป
| อาการ | การดำเนินการ |
|---|---|
| recipe validate แต่ขาดคำขอ | อย่า build ระบุ requirement ที่ขาดชัดเจนแล้ว validate อีกครั้ง |
| build อยู่ queued | เก็บ build ID และตรวจ queue/recovery หลีกเลี่ยงการ start ซ้ำ |
| ความคืบหน้าเหมือนไม่เปลี่ยน | ตรวจ stage ปัจจุบันและ log ล่าสุดก่อนสรุปว่าค้าง |
| build ล้มเหลว | อ่าน error สาเหตุแรก ไม่ใช่แค่ summary สุดท้าย แก้หรือ retry หลังเข้าใจสาเหตุ |
| test ล้มเหลว | แยก defect ผลิตภัณฑ์ defect assertion ปัญหา boot guest และ infrastructure error |
| ดาวน์โหลดหายหรือ forbidden | ยืนยัน session เจ้าของ สถานะ finalization และ build ID ตรงก่อน rebuild |