วิเคราะห์จุดที่ล้มเหลว
เริ่มจากหลักฐานบนเครื่องที่รัน service
Repository หรือ permissions
ตรวจ Git identity, branch/directory, canonical HTTPS URL และ credential host สมาชิกต้องมี visibility พร้อม action grant ขององค์กรนั้น การเปลี่ยนสิทธิ์ยกเลิก sessions ให้ login ใหม่ เลือก token ข้ามองค์กรไม่ได้ และ credential ที่ใช้อยู่ต้องปลด binding ก่อนลบ
Build หรือ runtime ล้มเหลว
ตรวจ executable, Node major, lockfile, start script และ health path Node 20 ต้องตรวจ better-sqlite3 หลัง npm ci ส่วน Python ต้องมี python3-venv, PHP อาจต้องมี Composer/extensions และ Go compiler ต้องตรง go.mod อ่าน candidate output ก่อน retry ค่า database ที่ไม่ครบอาจทำให้แอป exit ก่อน health check
Prisma CLI หายหรือเตรียมไม่ผ่าน
ตรวจแพ็กเกจ prisma ที่ติดตั้ง, version และ bin ก่อน Portal 0.8.7/0.8.8 ตรวจ build/index.js จึงอาจแจ้ง CLI หายสำหรับ Prisma 8 ทั้งที่มี dist/prisma.js Portal 0.8.9 รองรับกรณีนี้ การสร้าง config ซ้ำหรือเพิ่มแพ็กเกจเดิมไม่แก้ปัญหาความเข้ากันได้ของ Portal หาก dependency หายจริงหรือ config ผิดจึงค่อยแก้ฝั่งแอป
ดูรายการตรวจ error ตรวจ failed candidate แยกจาก active release การ deploy ล้มเหลวไม่ได้แปลว่าแอปเดิมหยุดทำงาน
Host activation หรือ HTTPS ล้มเหลว
getent ahosts app.example.com
sudo nginx -t
sudo journalctl -u dashboard-portal -u hostmgr-deploy-helper --since '30 minutes ago' --no-pagerตรวจ DNS บน host, origin, certificate และ upstream การค้าง awaiting-host-activation ใน local sandbox เป็นขอบเขตปกติ HTTP redirect ไป HTTPS ที่ทำงานได้ไม่ใช่ failure หาก /api/health ผ่านแต่หน้าเว็บเสียให้ตรวจสิทธิ์ traverse/read ของ static files
Commit ใหม่ไม่ deploy
ตรวจ trigger mode, Auto deploy, branch และ release log Polling อาจใช้ห้านาที Actions mode ตั้งใจรอ CI แม้ source sync แล้ว Hook ตอบ 202 คือเข้าคิว ตรวจประเภทบริการ environment, runtime และโดเมนที่เลือกใช้ และดูว่า revision เดียวกัน deploy ไปแล้วหรือไม่
Worker หยุดหรือ maintenance ยุ่ง
Worker ที่จบงานแล้ว exit จะไม่ผ่าน readiness แบบรันต่อเนื่อง ตรวจ runtime ที่รองรับ runtime logs, entry point, การเชื่อม queue และ SIGTERM โดยไม่ต้องสร้าง HTTP server หลอกให้ผ่าน health check หากพบ maintenance HTTP 503 หรือ update ถูกปฏิเสธ ให้รองานปัจจุบันจบแล้วลองใหม่ อย่าลบหรือแทนที่ lock file ถ้า recovery ล้มต้องตรวจ host ก่อน retry