“Your spending limit needs to be increased”: ให้ GitHub Actions รันได้วันนี้
ข้อความนี้แปลว่า CI ของรีโพสิทอรีส่วนตัวของคุณหยุดแล้ว และจะไม่เริ่มอีกจนกว่าคนที่มีสิทธิ์จัดการการเรียกเก็บเงินจะแก้ไข หรือจนถึงเวลา 00:00 UTC ของวันที่ 1 ทุก pull request ที่รอเครื่องหมายถูกสีเขียวก็ต้องรอไปด้วย
คุณรันจ็อบได้ตอนนี้เลย เปลี่ยนเป็น runs-on: skipbox แล้ว push: รันเนอร์ของ Skipbox ไม่ใช้งบประมาณหรือนาทีฟรีของ GitHub จ็อบจึงเริ่มได้แม้การเรียกเก็บเงินยังมีปัญหาอยู่
ทำไม GitHub ไม่เริ่มจ็อบ
หน้าการรันแสดงข้อความนี้:
The job was not started because recent account payments have failed or your spending limit needs to be increased.
บัญชีของคุณจ่ายค่าเวลาของรันเนอร์ที่ GitHub โฮสต์เพิ่มไม่ได้ สาเหตุมีสามแบบ:
| สาเหตุ | ดูอย่างไร | ใครแก้ |
|---|---|---|
| งบประมาณที่ตั้งให้หยุดการใช้งานหมดแล้ว | Budgets and alerts แสดงงบประมาณ Actions ที่ถึงขีดจำกัด | เจ้าขององค์กร (ถ้าเป็นบัญชีส่วนตัว คือคุณ) |
| นาทีฟรีหมด และไม่มีวิธีชำระเงิน | ไม่มีบัตรบันทึกไว้ หรืองบประมาณ Actions เป็น $0 | เจ้าของหรือ billing manager เพิ่มบัตร |
| การชำระเงินไม่ผ่าน | GitHub ส่งอีเมลแจ้งว่าการเรียกเก็บเงินถูกปฏิเสธ | เจ้าของหรือ billing manager |
งบประมาณอยู่ที่ Billing & Licensing → Budgets and alerts ส่วนบัตรอยู่ที่ Billing & Licensing → Payment information หลังแก้แล้ว จ็อบที่ถูกปฏิเสธก็ยังถูกปฏิเสธอยู่: เปิดแต่ละการรันแล้วคลิก Re-run failed jobs ถ้าการเรียกเก็บเงินดูถูกต้องแต่จ็อบยังไม่เริ่ม มีแค่ GitHub Support ที่แก้ได้ ข้อความเรื่องงบประมาณอีกแบบมีคู่มือของตัวเอง: เมื่องบประมาณ Actions หยุดการใช้งานต่อ
สิ่งที่ถูกบล็อกคือรันเนอร์ที่ GitHub โฮสต์บนรีโพสิทอรีส่วนตัว รันเนอร์แบบ self-hosted ไม่ถูกบล็อก เพราะ GitHub ไม่คิดเงินนาทีของมัน Skipbox คือรันเนอร์แบบ self-hosted
แก้การเรียกเก็บเงินได้แค่อีกเดือนเดียว
โควตาฟรีคือ $12 หรือ $18 ต่อเดือน เท่ากับ ubuntu-latest 2,000 หรือ 3,000 นาที ทีมที่รัน CI ทุกครั้งที่ push ใช้หมดภายในกลางเดือน การเพิ่มบัตรหรือเพิ่มงบประมาณเปลี่ยนการบล็อกให้กลายเป็นบิลรายนาที:
| นาทีต่อเดือน (4 vCPU) | GitHub | Skipbox S | ประหยัดได้ต่อเดือน |
|---|---|---|---|
| 10,000 | $102 | $39 | $63 |
| 20,000 | $222 | $39 | $183 |
| 30,000 | $342 | $39 | $303 |
ตัวเลขของ GitHub คือบิลหลังหักจำนวนที่ GitHub Team รวมให้แล้ว ลองใส่นาทีของคุณเองในเครื่องคำนวณบนหน้าแรก
และนาทีก็มีแต่จะเพิ่มขึ้น coding agent push และรัน CI ซ้ำตลอดเวลา ชุด E2E และ matrix build ทำให้แต่ละการ push เพิ่มเป็นหลายเท่า และงบประมาณที่ต่ำพอจะคุมบิลได้ ก็ต่ำพอจะหยุด merge อีกครั้งในเดือนหน้า ทุกครั้งทั้งทีมต้องรอคนที่แก้การเรียกเก็บเงินได้
อะไรเปลี่ยนเมื่อใช้ Skipbox
จ็อบไม่หยุดเพราะการเรียกเก็บเงิน
จ็อบบน Skipbox ไม่ใช้โควตาหรืองบประมาณ GitHub ของคุณเลย และการเรียกเก็บเงินของ GitHub ที่ไม่ผ่านก็ไม่กระทบจ็อบเหล่านี้ ถ้ามีจ็อบเข้ามามากกว่าที่แพ็กเกจรันพร้อมกันได้ จ็อบจะรอคิวแทนที่จะล้มเหลว
ราคาเหมาจ่ายราคาเดียว ไม่จำกัดนาที
| แพ็กเกจ | เครื่อง | ต่อเดือน |
|---|---|---|
| S | 4 vCPU, 16 GB | $39 |
| M | 8 vCPU, 16 GB | $79 |
| L | 16 vCPU, 32 GB | $149 |
เร็วขึ้น และไม่มีอะไรให้ดูแล
เครื่องของบัญชีคุณอยู่ต่อระหว่างจ็อบ layer ของ Docker แคชแพ็กเกจ และเครื่องมือที่ติดตั้งไว้จึงพร้อมสำหรับการรันครั้งถัดไป ด้วยพื้นที่แคช 7× ของ GitHub ขึ้นไป Skipbox จัดเตรียมและอัปเดตเครื่อง เก็บกวาดหลังแต่ละจ็อบ และตรวจสุขภาพและสร้างเครื่องใหม่ให้อัตโนมัติ
ย้ายได้ด้วยบรรทัดเดียว
jobs:
test:
runs-on: skipbox # was ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm test
- เข้าสู่ระบบ Skipbox ด้วย GitHub
- ติดตั้งแอป Skipbox บน GitHub แล้วเลือกรีโพสิทอรีที่ถูกบล็อก
- เปลี่ยน
runs-onแล้ว push
การรันที่คุณเพิ่ง push จะเริ่มบน Skipbox บน Ubuntu 24.04 ที่มี Docker, Node.js และ Python ใช้ได้ทั้งองค์กรและบัญชีส่วนตัว ขั้นตอนและวิธีย้ายกลับอยู่ในทำอย่างไรเมื่อ GitHub หยุดจ็อบของคุณ
ความปลอดภัย
- แต่ละบัญชีได้เครื่องของตัวเอง จ็อบของคุณไม่เคยใช้เครื่องร่วมกับบริษัทอื่น
- หลังทุกจ็อบ Skipbox ลบข้อมูลรับรอง โปรเซส และคอนเทนเนอร์ของรันเนอร์ ตั้งแต่ 13 พฤศจิกายน 2026 โค้ดที่ checkout และผลลัพธ์ build ของมัน (
target/ของ Cargo) จะอยู่บนเครื่องของคุณเองให้จ็อบถัดไป ส่วน “VM ใหม่ทุกจ็อบ” จะให้แต่ละจ็อบได้เครื่องใหม่ - โค้ดจากคนที่ไม่มีสิทธิ์เขียน (เช่น pull request จาก fork) รันบนเครื่องใหม่ที่ใช้ครั้งเดียว
ลองกับจ็อบที่ถูกบล็อก
การทดลองใช้ไม่ต้องใช้บัตร และใช้ได้ 7 วัน หรือ 3,000 นาทีของจ็อบ เปลี่ยนจ็อบที่ถูกบล็อกเป็น runs-on: skipbox แล้ว push และ merge ได้วันนี้ แทนที่จะรอเรื่องการเรียกเก็บเงิน
คำถามที่พบบ่อย
เจอข้อผิดพลาดนี้แล้ว จะให้จ็อบรันตอนนี้เลยได้อย่างไร
เปลี่ยน runs-on ของจ็อบที่ถูกบล็อกเป็น skipbox แล้ว push สำหรับ GitHub รันเนอร์ของ Skipbox คือรันเนอร์แบบ self-hosted จึงไม่ใช้งบประมาณหรือนาทีฟรีของคุณ และจ็อบจะเริ่มได้โดยไม่ต้องมีใครแก้การเรียกเก็บเงิน การทดลองใช้ไม่ต้องใช้บัตร
ข้อผิดพลาดนี้หยุดรันเนอร์แบบ self-hosted ด้วยไหม
ไม่หยุด ข้อผิดพลาดนี้หยุดเฉพาะรันเนอร์ที่ GitHub โฮสต์ GitHub ไม่คิดเงินนาทีของรันเนอร์แบบ self-hosted และไม่นับรวมในการประมวลผลที่แพ็กเกจรวมให้ งบประมาณหรือการไม่มีบัตรจึงหยุดมันไม่ได้ จ็อบบน Skipbox จึงรันต่อได้
เพิ่มงบประมาณแล้ว แต่จ็อบยังไม่เริ่ม ต้องทำอย่างไรต่อ
รันจ็อบที่ล้มเหลวใหม่: GitHub ไม่ลองใหม่ให้เอง ตรวจว่ามีงบประมาณอีกตัวที่ครอบคลุม Actions และหมดแล้วหรือไม่ และดูการเรียกเก็บเงินที่ไม่ผ่านใน Payment history ถ้าทุกอย่างปกติ ให้ติดต่อ GitHub Support ระหว่างที่รอ ให้ย้ายจ็อบไปที่ runs-on: skipbox เพื่อไม่ให้ CI ต้องรอ ticket
การบล็อกจะหายเองเมื่อไร
เวลา 00:00 UTC ของวันที่ 1 เมื่อรอบการเรียกเก็บเงินถัดไปเริ่มและการประมวลผลที่แพ็กเกจรวมให้รีเซ็ต ถ้ายังอีกหลายวัน Skipbox รันจ็อบนั้นให้ได้วันนี้
จะป้องกันไม่ให้เกิดอีกเดือนหน้าได้อย่างไร
งบประมาณที่สูงขึ้นหมายถึงบิลรายนาทีที่ใหญ่ขึ้น งบที่ต่ำลงหมายถึงเจอข้อผิดพลาดนี้อีก การย้ายจ็อบไป Skipbox ทำให้จ็อบออกจากการเรียกเก็บเงินของ GitHub: ราคาเหมาจ่าย $39 ต่อเดือน ไม่จำกัดนาที
อัปเดต 11 พฤศจิกายน 2026