獨享實體節點
整台 Mac mini 僅供你使用。CPU、統一記憶體與 SSD 不與其他租戶共用,不切分、不超賣。建置快取留在自己的節點上,不必每次執行工作時重新準備環境。
1 台主機 = 1 位租戶
獨享實體主機,非虛擬機。5 個節點,按日/週/月/季計費,$21.1/天起
從一台開始,當天接入建置流程;實際可用狀態與交付資訊以控制台回傳為準。
範例流程,非即時資料;建置耗時會因專案、相依項目與快取而異
iOS 打包機講求穩定、可重現,並隨時可用。登入後先確認硬體、權限與工具鏈,再接入第一條 CI 流程。
整台 Mac mini 僅供你使用。CPU、統一記憶體與 SSD 不與其他租戶共用,不切分、不超賣。建置快取留在自己的節點上,不必每次執行工作時重新準備環境。
1 台主機 = 1 位租戶
Xcode、模擬器與 Metal 都在 macOS 上原生執行。圖形介面和命令列皆可使用,開發工具不必繞過虛擬化裝置限制。你也可以自行查看硬體資訊,確認 Mac mini 型號。
system_profiler SPHardwareDataType
先租一天確認相依項目與簽署流程;發佈衝刺可按週租用,常駐 runner 則適合按月或按季租用。各租期價格分別列出,不會把月租換算成日租當作入門價。
M4 Base:$21.1/天 · $57.1/週 · $105.7/月
全部都是 Apple Silicon Mac mini。三種機型在 5 個節點皆有供應;記憶體與 SSD 容量依機型固定,額外工作空間可另行加購。
ID m4-16-256
獨享實體節點 · Mac mini
ID m4-24-512
獨享實體節點 · Mac mini
ID m4pro-64-2tb
獨享實體節點 · Mac mini
可加購 +1TB / +2TB SSD 與 Thunderbolt 5 並聯。下單與開通時,請確認網路規格、工具鏈版本及交付設定。
查看完整規格與加購項目統一以美元計價。每張方案卡可獨立切換日、週、月、季;顯示的是所選租期的基礎租金總額,並非換算後的日租價。
M4 · 16GB · 256GB
$21.1/天
適合單一 scheme 專案與短期測試。先記錄完整建置耗時、快取用量與記憶體峰值,再決定是否擴充常駐資源。
M4 · 24GB · 512GB
$41.4/天
適合持續累積相依項目快取、切換多個 scheme 的團隊。若需要同時打包,可用多台節點分擔工作,避免把循序佇列誤當成平行執行。
M4 Pro · 64GB · 2TB
$59.5/天
適合大型專案完整建置、模擬器測試與本機模型推論驗證。64GB 統一記憶體與 2TB SSD,為多組相依項目與建置產物預留空間。
入門價 $21.1/天;+1TB SSD 每天 $3 起。加購項目另計,結帳前請確認機型、租期、節點與總額。
租期與加購項目明細將 1~N 台雲端 Mac 註冊為 GitLab 或 GitHub Actions 的 self-hosted runner。先跑通一條 CI 流程,再將多個 scheme 分配到不同節點。
使用同一個 commit 記錄完整與增量建置耗時,檢查憑證、相依項目下載與 DerivedData 用量。每個 runner 同時執行一項工作,可作為起點。
依 macOS、Xcode 版本與專案用途命名標籤。只有在多台符合標籤的 runner 都可用時,矩陣工作才能跨主機同時執行。
依專案需求選擇 Xcode 版本並長期保留。使用 DEVELOPER_DIR 指定版本,並分別設定封存與快取路徑,避免多項工作互相覆寫。
Xcode 版本號並非確保建置可重現的唯一條件。相依項目鎖定檔、簽署材料、匯出設定與環境變數,也應納入團隊的變更紀錄。
name: ios-nightly
on:
workflow_dispatch:
schedule:
- cron: "0 13 * * *"
jobs:
archive:
runs-on: [self-hosted, macOS, xcode-16.2]
strategy:
fail-fast: false
matrix:
scheme: [App-Prod, App-Staging, Widget]
env:
DEVELOPER_DIR: /Applications/Xcode-16.2.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- name: Archive
run: |
xcodebuild archive \
-workspace App.xcworkspace \
-scheme "${{ matrix.scheme }}" \
-configuration Release \
-archivePath "build/${{ matrix.scheme }}.xcarchive"
- name: Export
run: |
xcodebuild -exportArchive \
-archivePath "build/${{ matrix.scheme }}.xcarchive" \
-exportPath "build/export/${{ matrix.scheme }}" \
-exportOptionsPlist ci/export.plist
請將 workspace、scheme 與 Xcode 路徑替換為自己的專案設定。GitLab 也可透過 runner 標籤分派工作;憑證與密鑰請使用受保護變數或專用鑰匙圈管理,勿存入儲存庫。
涵蓋新加坡、日本(東京)、韓國(首爾)、香港與美國西部,三種機型皆適用。請先確認操作人員與儲存庫的位置,再檢查實際連線路徑。
東南亞
東亞
東北亞
華南與東南亞
北美西岸
延遲為節點參考區間,並非從你的網路進行的實測結果。SSH 上下載、儲存庫拉取與 VNC 畫面皆會受各自連線影響;美國西部時區會隨夏令時間調整。所有節點全年 365 天運作,實際可用狀態以控制台即時回傳為準。
腳本與 CI 使用 SSH,操作 Xcode 與模擬器則透過 VNC 螢幕共享。先在控制台查看主機位址與登入資訊,再依連線文件設定用戶端。
可用於安裝相依項目、註冊 runner、查看建置記錄。首次登入後請變更密碼並新增公開金鑰;確認金鑰可用後,再調整驗證設定。
ssh -i ~/.ssh/armrdp admin@<主機地址>可用於檢查 Xcode 設定、鑰匙圈與模擬器。建議透過 SSH 隧道連線,將本機連接埠轉送至主機的螢幕共享服務。
ssh -N -L 5901:localhost:5900 admin@<主機地址>圖形操作與自動化工作共用同一套專案檔案及工具鏈,不必在兩種環境間複製建置目錄。
安裝相依項目、封存指令、記錄與產物檢查
專案設定、模擬器、簽署與介面除錯
vnc://localhost:5901以三種角色的第一人稱需求,說明如何安排節點。以下為使用情境範例,並非客戶評價或效能統計。
「發佈週我想讓三個 scheme 各自使用獨立的封存路徑。工作能分配給不同 runner,就不必一直盯著同一個佇列。」
iOS 負責人 · 需求範例
「我希望固定 Xcode 版本與相依項目鎖定檔。先用同一個 commit 確認結果,再把這台 Mac 納入正式 CI 流程。」
CI/CD 工程師 · 需求範例
「我會先按日租一台 M4 Base,設定好憑證與 GitLab runner。確認專案實際需要多少資源後,再選擇長期租期。」
獨立開發者 · 需求範例
不是。交付的是一台獨享實體 Mac mini。租期內,硬體資源不會與其他租戶共用或切分;你可以透過系統資訊確認晶片、記憶體與儲存空間。
可以依專案需求安裝並保留多個版本。建置腳本可用 DEVELOPER_DIR 指定版本,或使用 xcode-select 切換。安裝前請先確認系統相容性與剩餘磁碟空間。
先用一台主機執行單一工作,記錄記憶體峰值、封存耗時與磁碟讀寫狀況,再決定增加同一主機的並行工作數,或新增節點。scheme 數量本身無法直接推算完成時間。
請將憑證存入專用鑰匙圈,並將敏感變數放入 CI 的受保護設定。封存與匯出產物請同步至團隊自己的儲存空間;租期結束前完成備份,並撤銷不再使用的存取憑證。
用可執行 Swift 腳本驗證 JSON Pointer 的跳脫、陣列索引與失敗語意,明確區分缺少欄位和合法 null。
CI/CD 實踐以整數最大餘數法修正百分比合計誤差,並在雲端 Mac 上驗收排序規則、零權重及溢位邊界。
Security用 Swift 腳本驗收不含填補字元的 Base64URL,檢查非法字元、非正規尾端位元與過長輸入,避免寬鬆解碼掩蓋介面錯誤。
新文章準備中,請先查看部落格文章。
先確認租期與設定,再核對訂單總額。基礎租金與加購項目分開列出;實際可用的付款閘道以後端介面回傳為準。
使用鏈上付款前,請確認網路與收款資訊;信用卡付款請依閘道頁面操作。付款狀態尚未確認時,請先查看訂單,勿重複建立同一筆付款。