指南
在 Mac mini 上自架 GitHub Actions Runner
在獨享 Mac mini 上設定自架的 GitHub Actions Runner:安裝 Xcode、註冊 Runner、以服務方式執行,讓建置保持快速且私密。
30 分鐘,2026-09-15 更新
GitHub 代管的 macOS Runner 是共用機器。尖峰時段要排隊,每次都是冷啟動,而且按分鐘計費。
在您自己的 Mac mini 上自架的 Runner 會立即啟動,在兩次建置之間保留快取,每個月費用都一樣。
本指南大約需要三十分鐘。您需要:
- 一台搭載 Apple silicon、可透過 SSH 存取的 Mac mini
- GitHub 儲存庫或組織的管理員權限
- 一個 Apple ID,用來下載 Xcode
1. 準備 Mac
透過 SSH 登入,並讓 Mac 不進入睡眠:
sudo pmset -a sleep 0 disksleep 0 displaysleep 0安裝 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"建議為 Runner 另外建立一個使用者,讓建置永遠不會以您的管理員帳號執行:
sudo sysadminctl -addUser runner -fullName "CI Runner" -password -以該使用者身分登入,完成以下步驟。
2. 安裝 Xcode
透過 SSH 安裝,最簡單的方式是 `xcodes`:
brew install xcodesorg/made/xcodes
xcodes install --latest
xcodes select接受授權條款並完成首次啟動:
sudo xcodebuild -license accept
xcodebuild -runFirstLaunch
xcodebuild -downloadPlatform iOS3. 註冊 Runner
在 GitHub 開啟您的儲存庫,然後依序進入 Settings、Actions、Runners、New self-hosted runner。選擇 macOS 和 ARM64。
GitHub 會顯示確切的指令,包含目前的版本和一個權杖,看起來像這樣:
mkdir actions-runner && cd actions-runner
curl -o actions-runner-osx-arm64.tar.gz -L <download URL from GitHub>
tar xzf ./actions-runner-osx-arm64.tar.gz
./config.sh --url https://github.com/<owner>/<repo> --token <token>權杖一小時後就會失效,所以請馬上註冊。`config.sh` 詢問標籤時,加上您會在工作流程中使用的標籤,例如 `xcode` 或 `m4`。
4. 以服務方式執行
./svc.sh install
./svc.sh start
./svc.sh status現在 Runner 會隨使用者工作階段啟動。如果您的工作要執行 UI 測試或需要登入鑰匙圈,請在「系統設定」的「使用者與群組」中為 Runner 使用者開啟自動登入。您可以透過螢幕共享完成這一步。FileVault 開啟時無法使用自動登入。
5. 在工作流程中使用
name: iOS build
on: [push]
jobs:
build:
runs-on: [self-hosted, macOS, ARM64]
steps:
- uses: actions/checkout@v4
- name: Build
run: xcodebuild -scheme MyApp -destination 'generic/platform=iOS Simulator' build推送一個 commit。工作會出現在 Actions 下,並在幾秒內於您的 Mac 上開始執行。
6. 維持良好狀態
- 只用於私有儲存庫。在公開儲存庫上,來自 fork 的 pull request 可以在您的 Mac 上執行程式碼。GitHub 建議不要在公開儲存庫上使用自架 Runner。
- 偶爾清理一下。DerivedData 和舊的模擬器會隨時間越來越大:
rm -rf ~/Library/Developer/Xcode/DerivedData
xcrun simctl delete unavailable- 簽署。將憑證存放在專用的鑰匙圈中,或使用 fastlane match。
- 更新。Runner 預設會自動更新。Xcode 請依您自己的時程更新,不要在發布進行到一半時更新。
為什麼選擇獨享 Mac mini
- 沒有其他人在用。您一推送,建置就開始。
- 快取常駐。DerivedData、Swift 套件和 CocoaPods 都留在磁碟上,增量建置快得多。
- 真實晶片。在與您的使用者相同的 Apple silicon 上測試。
- 每月固定費用。不按分鐘計費,忙碌的衝刺結束時也不會有意外帳單。
MacDuty 在歐盟的機櫃中提供 M1 到 M6 的 Mac mini,並已安裝 macOS。請在客戶專區加入您的 SSH 金鑰。
今天有現貨
這些 Mac 現在就在機櫃中。挑一台,看看它包含什麼,下單時再建立帳號即可。
正在查看機櫃
屬於您自己的 Mac mini
選擇配置。如果架上沒有,請留下電子郵件,上架當天我們就寫信通知您。
按年:比按月付款至少便宜 19%
下一步