指南

從 Cirrus Runners 遷移到獨享 Mac mini

Cirrus Runners 不再接受新客戶,現有合約也陸續到期。把您的 macOS GitHub Actions 作業移到獨享 Mac mini,以原生方式執行,或使用相同的 Tart 映像檔。

60 分鐘,2026-09-15 更新

Cirrus Labs 於 2026年4月宣布加入 OpenAI。Cirrus CI 於 2026年6月1日停止執行作業。Cirrus Runners 不再接受新客戶,現有客戶只支援到目前合約結束為止。

如果您的 macOS GitHub Actions 作業在 Cirrus Runners 上執行,就需要在那之前找到新去處。本指南說明兩種把作業移到獨享 Mac mini 的方式,以及如何在兩者之間選擇。

兩種遷移方式

方案 A,原生 Runner。GitHub Actions Runner 直接在 macOS 上執行。這是最簡單的設定,建置最快,快取在作業之間保持熱度。

方案 B,Tart 虛擬機器。您在自己的 Mac 上,於 Tart 內執行目前使用的同一批 Cirrus macOS 映像檔。每個作業都從乾淨的機器開始,與在 Cirrus 上完全相同。

Path A, native runner

macOS, no VMactions.runner service,one job at a timeIts own diskDerivedData and packagesstay warm

Fastest, and you install Xcode yourself.

Path B, Tart virtual machines

macOS host, TartClean VMone job, deletedClean VMone job, deletedThe same Cirrus images you run today.Apple's licence: two at a time, per Mac.

Nothing changes in the workflow except the label.

一台 Mac,兩種配置。整份指南就是在講這個選擇。
原生 RunnerTart VM
設定時間約 30 分鐘約 1 小時
與 Cirrus 相同的環境否,您要自行安裝 Xcode是,相同的映像檔
每個作業一台乾淨機器No是
作業之間的熱快取是否,除非您把快取建進映像檔
每台 Mac 同時執行的作業數每個 Runner 一個最多兩個(Apple 授權限制)

如果您的團隊擁有該儲存庫並重視速度,選 A。如果您需要每個建置都從已知的乾淨狀態開始,或除了標籤之外不想更改工作流程中的任何東西,選 B。

開始之前

列出您的工作流程目前使用的項目。找出指向 Cirrus 映像檔的 runs-on 行,例如:

.github/workflows
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

記下 macOS 版本、Xcode 版本,以及您的作業在開始時安裝的任何東西。兩種方案都需要這份清單。

方案 A:原生 Runner

請依照我們的指南「在 Mac mini 上自架 GitHub Actions Runner」操作,連結在本頁底部。指南涵蓋 Xcode、註冊 Runner,以及將其作為服務執行。

為 Runner 取一個能描述它的標籤,例如 macduty-m4。然後在每個工作流程中修改一行:

.github/workflows
# before
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

# after
runs-on: [self-hosted, macOS, ARM64, macduty-m4]

在 Cirrus 仍可使用時,先在新 Runner 上跑一個工作流程。通過之後,再移動其餘的。

方案 B:相同的映像檔,在 Tart 中執行

1. 在 Mac 上安裝 Tart

ssh
brew install cirruslabs/cli/tart

2. 下載 Cirrus 映像檔

挑選最接近您目前執行環境的映像檔。Cirrus 發布含 Xcode 與不含 Xcode 的映像檔:

ssh
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-base

第一次下載很大,常超過 50 GB,請預留一些時間。

3. 啟動 VM 並登入

ssh
tart run --no-graphics ci-base &
ssh admin@$(tart ip ci-base)

Cirrus 映像檔附有預設的管理員帳號。在做任何事之前,先更改它的密碼。

4. 在 VM 內註冊 Runner

在 VM 內,以與方案 A 相同的方式註冊 GitHub Actions Runner,唯一的差別是:加上 --ephemeral,讓 Runner 只接一個作業就停止。

在 VM 內
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh

5. 每個作業一台全新的 VM

在 Mac 本身上,一個小迴圈會複製一份乾淨的映像檔,在其中執行一個作業,然後刪除:

ssh
while true; do
  tart clone ci-base job
  tart run --no-graphics job &
  # wait for the job to finish, then:
  tart stop job
  tart delete job
done

實務上,您會需要一個腳本,同時為每台 VM 取得新的註冊權杖。同一團隊開發的 Orchard 等工具,可為較大規模的設定處理這件事。

Apple 的授權允許一台 Mac 上同時最多執行兩台 macOS 虛擬機器。若要更多平行作業,請再加一台 Mac。

遷移之後

  • 檢查建置時間。在獨享的 M4 或更新機型上,多數團隊看到的建置速度與 Cirrus 一樣快,有熱快取時更快。
  • 把舊的工作流程保留一週。在新 Runner 經歷一次完整發布之前,把 Cirrus 的 runs-on 行副本留在一個分支中。
  • 僅限私有儲存庫。自架 Runner 不應接受來自公開 fork 的作業。

為什麼選擇獨享 Mac mini

  • 按月固定計費。不按分鐘計費,合約到期時也不必重新議價。
  • 涵蓋每一代。M1 到 M6 並列可選,您可以在使用者實際使用的晶片上測試。
  • 只屬於您。不必排隊,沒有共用者,您的硬體上不會跑別人的工作。
  • 代管於歐盟,受 GDPR 規範。

MacDuty 的機櫃中有 M1 到 M6 的 Mac mini,已安裝 macOS,幾分鐘內即可使用。請在客戶專區加入您的 SSH 金鑰。

今天有現貨

這些 Mac 現在就在機櫃中。挑一台,看看它包含什麼,下單時再建立帳號即可。

正在查看機櫃

屬於您自己的 Mac mini

選擇配置。如果架上沒有,請留下電子郵件,上架當天我們就寫信通知您。

按年:比按月付款至少便宜 19%

  • 16GB

    統一記憶體,120 GB/s

    核心
    10 CPU, 10 GPU
    儲存空間
    可用
    有現貨
  • 最多人選
    24GB

    統一記憶體,120 GB/s

    核心
    10 CPU, 10 GPU
    儲存空間
    可用
    有現貨
  • 32GB

    統一記憶體,120 GB/s

    核心
    10 CPU, 10 GPU
    儲存空間
    可用
    有現貨
Visa Mastercard SEPA 轉帳價格以 EUR 計,如適用,增值稅於結帳時加計。 至少一個月,之後任何一個月都能終止。

下一步