Skip to content

โดน Vercel Limit Deploy ครั้งแรก

Published
 at 07:00 AM

By : Parinya T. | 1 min read

เดิมทีบล็อกนี้ผมได้ทำการ Fork Repository มาจาก Dev ต่างชาติเพื่อมาทำต่ออีกที ซึ่งตอนเขาเขียนครั้งแรกๆ อาจจะอยู่บน env ที่ใหม่สุด ณ ขณะนั้น ทำให้ dependencies มันผ่านเวลาพอสมควร เมื่อผมนำมาแก้ไขต่อจนเป็นที่พอใจแล้ว ผมก็นำไป deploy ต่อที่ vercel ซึ่งผมใช้บริการฟรีอยู่ ซึ่งปกติแล้วเขาจะจำกัดการ deploy อยู่ในขอบเขตวันละไม่เกิน 100 Build

เหตุมันเกิดจากความเก่าของ dependencies ทั้งหลายและความขี้เกียจอัพเดทด้วยตัวเอง ซึ่งเราก็ไม่รู้ว่าบางตัวอัพเดทไปแล้วมันจะพังไหม ซึ่งบางครั้งลองบน localhost แล้วมันดันไม่เจอปัญหา พอ deploy แล้วมันดันเกิดปัญหาขึ้นมาเสียอย่างนั้นก็มี ซึ่งบางอย่างก็จำเป็นต้องอัพเดทเพื่อแก้ปัญหาช่องโหว่ต่างๆนาๆ ป้องกันการเจาะระบบ หรือพฤติกรรมไม่พึงประสงค์อื่นๆมากมาย จึงตัดสินใจโยนขึ้น git แล้วก็ตั้ง dependabot ให้มาช่วยจัดการตรงนี้แทน

เจ้า dependabot นี่จะเข้ามาช่วยเรื่องของการอัพเดท dependencies ในงานของเราโดยอ้างอิงจากไฟล์ package.js หรือ yarn.lock ที่อยู่ในโปรเจ็กต์ แล้วตรวจสอบว่ามีตัวไหนที่มีเวอร์ชั่นอัพเดทไหม ถ้ามีอัพเดทมันจะสร้าง Pull Request และทำการสร้าง branch แยกออกมา เพื่อทำการ deploy test ว่ามีปัญหาหรือไม่และจะแจ้งผลผ่าน PR ที่สร้าง ซึ่งทำให้เราไม่ Merge อัพเดทนั้นได้เลย

Blog Image

ตัวอย่างที่ไม่ผ่าน (จริงๆก็กด Merge ได้นะ แต่มันก็จะพังเหมือนที่บอทมันทดสอบให้นั่นแหละ)

จากนั้นผมเองก็ปล่อยให้บอทมันทำงานของมันไปโดยไม่ได้สนใจอะไร จนกระทั่งกลับมาอีกทีพบว่าหลังๆทำไมผลทดสอบมันแดงอย่างเดียวเลย เลยสุ่มเข้าไปอ่านที่ pull request สักอันก็ปรากฎผลว่า โดน Limit deploy ไปเรียบร้อยแล้วครับ (ก็เข้าใจว่า dependencies มันเก่านะ แต่ก็ไม่ได้คิดว่ามันจะเก่าเยอะขนาดนี้)

Blog Image

vercel : เอ็งจะ deploy อะไรขนาดนั้น ออกไปเล่นข้างนอกบ้างสิลูก

สรุป

มองในแง่ดีคือ เราใช้งานและจดจ่อกับตรงนี้มากเกินไป vercel เลยใจดีบอกว่า เฮ้ย นายควรออกไปเดินเล่นข้างนอก หากิจกรรมอย่างอื่นทำ พักสายตาเสียบางนะสหาย อีก 6 ชั่วโมง (จริงๆผมก็ไม่แน่ใจว่าเขาตัดรอบกี่โมง) ค่อยกลับมาทำงานตรงนี้ใหม่นะ มันเป็นชะตาที่ไม่อาจเลี่ยงจริงๆ (จริงๆก็เลี่ยงได้ แค่จ่ายก็จบ)

จริงๆที่เขียนบทความนี้ขึ้นมาเพราะมันเป็นเหมือนการปลดล็อกหนึ่งในสิ่งที่สงสัยของผมอย่างหนึ่งว่า ถ้ามันโดนลิมิตแล้วมันจะเป็นในรูปแบบไหน ซึ่งผลก็คือ เว็บยังใช้ได้ปกติ แต่แค่เราจะ deploy เพิ่มไม่ได้ในช่วงเวลาหนึ่งเท่านั้น ซึ่งน่ารักกว่าที่คาดการไว้ว่ามันจะชัทดาวน์เว็บเราไปเลย (มองแง่ลบมากๆครับ ฮ่าๆ)

จริงๆก็แอบมีอีกหนึ่งสิ่งที่คาใจเหมือนกันนะ นั่นคือผมใช้การเก็บข้อมูลบางอย่างของบล็อกไว้ที่ firestore ซึ่ง free tier จำกัดการอ่านไว้ที่ 5หมื่น ครั้ง/วัน มันเหลือเฟือมากๆสำหรับของฟรี และดูจะเป็นไปได้ยากที่จะพิชิตขอบเขตนั้นได้สำหรับบล็อกเล็กๆนี้