# GitHub Actions「spending limit needs to be increased」：今天就讓作業恢復執行

> 預算用完、免費分鐘數用完又沒有付款方式，或付款失敗時，GitHub 會顯示這則訊息並拒絕啟動作業。在有人修好帳單之前，合併只能等。把 runs-on 改成 skipbox，作業今天就能在 GitHub 預算之外執行，之後每月固定 $39，分鐘數不限。

這則訊息表示你私有儲存庫的 CI 已經停止，而且要等有帳單權限的人修好，或等到每月 1 日 UTC 00:00，才會重新啟動。每個等著綠色勾勾的 Pull Request 都跟著一起等。

你現在就能執行作業。把它改成 `runs-on: skipbox` 並推送：Skipbox 的 Runner 不會用到你的 GitHub 預算或免費分鐘數，所以帳單還沒修好，作業也能啟動。

- 改成 `runs-on: skipbox` 的作業今天就能啟動，不必換新信用卡或提高預算
- 每月固定 $39，分鐘數不限；在 GitHub 的 4 核心 Runner 上跑 20,000 分鐘要 $222
- 背後沒有 GitHub 預算，所以下個月底 CI 不會再被凍結

**作業現在被擋住了嗎？** 把私有儲存庫的作業改成 `runs-on: skipbox`：它會在 Skipbox 上執行，不會用掉你的 GitHub 預算。 免費 7 天或 3,000 分鐘，不需信用卡。 [使用 GitHub 免費開始](https://app.skipbox.dev/sign-in?ref=guide-limit-blocked)

## GitHub 為什麼不啟動作業

執行頁面顯示：

```text
The job was not started because recent account payments have failed or your spending limit needs to be increased.
```

你的帳號無法再為更多 GitHub 託管 Runner 的時間付費。原因有三種：

| 原因 | 怎麼判斷 | 由誰修正 |
|---|---|---|
| 設定為停止用量的預算已用完 | **Budgets and alerts** 顯示某個 Actions 預算已達上限 | 組織的擁有者（個人帳號則是你自己） |
| 免費分鐘數用完，又沒有付款方式 | 沒有登記信用卡，或 Actions 預算為 US$0 | 擁有者或帳單管理員新增信用卡 |
| 付款失敗 | GitHub 寄信通知你扣款遭拒 | 擁有者或帳單管理員 |

預算在 **Billing & Licensing → Budgets and alerts**，信用卡在 **Billing & Licensing → Payment information**。修正後，已被拒絕的作業不會自己恢復：打開每次執行，按一下 **Re-run failed jobs**。如果帳單看起來沒問題，作業卻還是沒有啟動，只有 GitHub Support 能解除。另一則預算訊息有自己的指南：[Actions 預算阻止了進一步使用](https://skipbox.dev/guides/github-actions-budget-preventing-further-use)。

被擋下的是私有儲存庫上的 GitHub 託管 Runner。自架 Runner 不受影響：GitHub 不對它們的分鐘數收費。Skipbox 就是自架 Runner。

## 修好帳單，也只撐得了一個月

免費額度是每月 US$12 或 US$18，等於 `ubuntu-latest` 的 2,000 或 3,000 分鐘。每次推送都跑 CI 的團隊，月中就會用完。登記信用卡或提高預算，只是把封鎖變成按分鐘計費的帳單：

| 每月分鐘數（4 vCPU） | GitHub | Skipbox S | 每月省下 |
|---|---|---|---|
| 10,000 | $102 | $39 | **$63** |
| 20,000 | $222 | $39 | **$183** |
| 30,000 | $342 | $39 | **$303** |

GitHub 的金額是扣除 GitHub Team 內含額度後的帳單。把你自己的分鐘數填進[首頁的費用試算](https://skipbox.dev/?ref=g-github-actions-spending-limit-job-not-started-zh-hant#cost)試試看。

而且分鐘數只會增加。程式設計代理全天候推送、重新執行 CI，端對端測試和矩陣建置讓每次推送的作業倍增，而低到能壓住帳單的預算，也低到下個月會再次讓合併停擺。每一次，整個團隊都得等能修改帳單的那個人。

## 換到 Skipbox 後有什麼不同

### 作業不會因為帳單而停止

Skipbox 上的作業不會用到你的 GitHub 額度或預算，GitHub 扣款失敗也不會影響它們。作業多到超過方案能同時執行的數量時，它們會排隊等候，而不是失敗。

### 一個固定價格，分鐘數不限

| 方案 | 機器 | 每月 |
|---|---|---|
| S | 4 vCPU，16 GB | $39 |
| M | 8 vCPU，16 GB | $79 |
| L | 16 vCPU，32 GB | $149 |

### 更快，而且沒有東西要管理

你帳號的機器在作業之間一直都在，所以 Docker 層、套件快取和已安裝的工具，下一次執行時都還在，快取空間是 GitHub 的 7 倍以上。Skipbox 會佈建和更新機器、在每個作業後清理環境，並自動執行健康檢查和重建。

## 換過去只要改一行

```yaml
jobs:
  test:
    runs-on: skipbox # was ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test
```

1. 使用 GitHub 登入 Skipbox。
2. 安裝 Skipbox GitHub App，並選擇被擋下的儲存庫。
3. 修改 `runs-on` 並推送。

你剛推送的執行就會在 Skipbox 上啟動，環境是內含 Docker、Node.js 和 Python 的 Ubuntu 24.04。組織和個人帳號都能用。[GitHub 停止你的作業時該怎麼辦](https://docs.skipbox.dev/spending-limit)說明了步驟，以及怎麼換回來。

## 安全性

- 每個帳號都有自己的機器。你的作業絕不會和其他公司的作業共用機器。
- 每個作業結束後，Skipbox 會清除 Runner 的憑證、程序和容器。從 2026 年 11 月 13 日起，你的 checkout 和它的建置輸出（Cargo 的 `target/`）會留在你的專屬機器上，供之後的作業使用；開啟「每個作業都用新 VM」，每個作業就會用一台全新的機器。
- 沒有寫入權限的人提交的程式碼（例如來自 fork 的 Pull Request）會在全新、只用一次的機器上執行。

## 用被擋下的作業試試看

試用不需信用卡，為期 7 天或 3,000 作業分鐘。把被擋下的作業改成 `runs-on: skipbox`，推送，今天就合併，不必等帳單。

## 常見問題

### 出現這個錯誤後，怎麼讓作業馬上跑起來？

把被擋下的作業的 runs-on 改成 skipbox 並推送。對 GitHub 來說，Skipbox 的 Runner 是自架 Runner，所以不會用到你的預算或免費分鐘數，作業不必等任何人處理帳單就能啟動。試用不需信用卡。

### 這個錯誤也會擋下自架 Runner 嗎？

不會。它擋下的是 GitHub 託管的 Runner。GitHub 不對自架 Runner 的分鐘數收費，也不會算進你的內含運算額度，所以不論預算用完或沒有信用卡，都擋不下它們。這就是 Skipbox 上的作業會繼續執行的原因。

### 我已經提高預算，作業還是沒有啟動，怎麼辦？

重新執行失敗的作業：GitHub 不會自動重試。檢查是否還有另一個涵蓋 Actions 的預算也用完了，並在 Payment history 中查看有沒有扣款失敗；如果都沒問題，請聯絡 GitHub Support。處理期間，把作業改成 runs-on: skipbox，CI 就不必等客服回覆。

### 封鎖什麼時候會自己解除？

在每月 1 日 UTC 00:00，下一個帳單週期開始、內含運算額度重設的時候。如果那還要好幾天，Skipbox 今天就能執行這個作業。

### 怎麼避免下個月又發生？

預算調高，按分鐘計費的帳單就跟著變大；調低，這個錯誤就會再出現。把作業移到 Skipbox，就能讓它們脫離 GitHub 的計費：每月固定 $39，分鐘數不限。

更新於 2026-11-11 · https://skipbox.dev/zh-hant/guides/github-actions-spending-limit-job-not-started
