交出執行工作,不必重寫流程

這些工作,交給
Apple Silicon 雲端 Mac

夜間建置、自動回歸測試、模型實驗。照常使用熟悉的工具,把執行工作交給一台專屬實體 Mac mini,而非虛擬機。

先挑一項可驗證的工作,按天租用並跑通流程;再依記憶體用量、磁碟成長與工作頻率,決定機型和租期。

兩款機型 · 五個節點 · $20.2每天起。實際可用狀態以控制台即時回報為準。

從手邊的工作開始

四類工作,各有合適的啟動方式

建議配置是測試起點,不代表效能保證。用自己的專案實測,比只看晶片型號更有參考價值。

01 / BUILD

React Native 夜間建置

白天用本機寫程式,晚上把 iOS 建置交給雲端。先用固定分支測試,確認 Node、CocoaPods、Xcode 與 Fastlane 版本都能重現現有結果。

從單一工作佇列開始,保留依賴鎖定檔;分開存放依賴快取與最終產物。不要每次建置後清空所有快取,也不要把簽署資料寫進儲存庫。

驗收檢查三項:依賴項目可安裝、建置結束代碼正常、產物可供後續測試流程使用。先測冷快取,再測重複建置,分別記錄耗時。

建議按週租用 · 涵蓋一個發佈週期

Flow M4
M4 / 16GB / 256GB

租用 Flow M4 執行建置
02 / RELEASE

Flutter 多平台建置

將 iOS 與 macOS 目標的建置集中在同一套 macOS 環境。固定 Flutter SDK、Dart 與 Xcode 版本,讓相同提交在本機與雲端使用一致的建置參數。

先遷移一個目標平台,再逐步增加其他平台。模擬器、DerivedData 與依賴快取會持續占用磁碟;保留必要的執行環境,並設定快取清理規則。

驗收檢查三項:環境診斷通過、目標產物成功產生、記錄與產物可傳回。若需同時執行多項建置,再評估 Flow M4 Pro,不要一開始就開滿並行工作。

建議按月租用 · 固定開發環境

Flow M4
M4 / 16GB / 256GB

租用 Flow M4 執行建置
03 / INFERENCE

MLX 本機推論實驗

使用 M4 Pro 的 64GB 統一記憶體測試量化模型。先選定模型版本、量化方式、上下文長度與測試輸入;評估模型能否載入時,也要一併計入執行環境與快取的用量。

每項實驗使用獨立的 Python 環境。模型權重、下載快取與實驗結果分開存放;模型檔案較多時,可考慮加購 +2TB SSD,避免反覆下載占用系統磁碟。

驗收檢查三項:模型可載入、尖峰記憶體用量可接受、固定輸入的處理效能可重現。先按天完成驗證,再考慮季租;加裝磁碟不會增加統一記憶體。

建議先按天測試 · 確認後再長租

Flow M4 Pro
M4 Pro / 64GB / 2TB

租用 Flow M4 Pro 進行實驗
04 / TEST

XCUITest 回歸測試

將固定測試集放在獨立節點,避免回歸測試與日常開發爭用本機資源。固定 Xcode、模擬器執行環境與測試裝置配置,先以序列方式驗證,再逐步增加並行工作。

每次保留測試結果封存檔、失敗截圖與對應提交編號。若測試需要圖形工作階段,請先確認工作階段條件;SSH 連線成功不代表所有介面測試都能直接執行。

驗收檢查三項:重複執行結果穩定、失敗記錄完整、並行時記憶體仍有餘裕。雲端模擬器測試不代表已包含實體測試裝置。

建議按週租用 · 完成一輪回歸測試

Flow M4 Pro
M4 Pro / 64GB / 2TB

租用 Flow M4 Pro 執行測試
先並行驗證,再正式切換

分三階段交接,將本機工作遷移至雲端

分別驗收資料、工具鏈與 CI。哪個步驟出問題,就回頭處理該步驟,不必同時變動所有設定。

01 · 資料

先備妥程式碼與快取

本機 Mac

列出專案、依賴鎖定檔、必要快取與產物目錄。排除暫存檔和不需要的建置產物,並先建立一份獨立備份。

雲端 Mac

建立專案目錄,使用 rsync 增量傳輸。若專案與快取占用空間較大,可依容量需求評估加購 +1TB SSD 或 +2TB SSD;加購磁碟的實際掛載位置請以電腦內顯示為準。

將 MAC_HOST 設為連線位址後執行

rsync -av --progress ./ "$MAC_HOST:~/workspace/"

交接完成:檔案可讀寫、目錄權限正確、重要檔案的校驗結果一致。rsync 同步不能取代獨立備份;首次遷移時不要啟用刪除目標檔案的選項。

02 · 工具鏈

逐項消除版本差異

本機 Mac

記下 Xcode 與命令列工具的版本,匯出 Homebrew 依賴清單。整理鑰匙圈中的必要憑證,並確認存取權限與使用範圍。

雲端 Mac

安裝並選取對應版本的工具,依清單還原依賴項目。透過受控方式將簽署資料匯入鑰匙圈,先確認命令列工作能在預期的工作階段中存取;不要將解鎖密碼寫入記錄。

確認目前的開發工具與路徑

xcodebuild -version
xcode-select -p

交接完成:相同提交與相同參數都能完成建置。先執行一條完整命令,再接上自動化;不要直接將未驗證的環境設為預設執行端。

03 · CI 串接

先用新標籤測試,保留舊流程

本機 Mac

保存現有流程設定,列出建置、測試、封存與上傳步驟。將寫死的本機目錄改為工作目錄變數,並明確記下回復時要還原的執行標籤。

雲端 Mac

註冊 self-hosted runner,設定獨立標籤與最小權限。先讓測試分支使用新節點,確認產物上傳與記錄回傳正常,再切換正式流程的標籤。

GitHub Actions 執行端標籤範例

runs-on: [self-hosted, macOS, ARM64, cloud-build]

交接完成:工作確實在新節點執行,結果可追溯,憑證也未出現在輸出中。不要讓不受信任的外部提交直接存取含有簽署資料的 runner。

依瓶頸挑選,不看型號猜效能

先決定記憶體,再考量儲存與協作

輕量建置可從 Flow M4 開始;並行建置與 MLX 工作優先評估 Flow M4 Pro。多機協作是另一種配置方式,不會把多台機器的記憶體合併成一台。

兩款機型的工作配對與測試重點
工作與瓶頸 建議起點 租用週期建議 測試時的檢查重點
輕量建置、單一工作佇列 Flow M4
M4 / 16GB / 256GB
按週租用以涵蓋發佈;使用穩定後再評估按月租用。 冷快取與熱快取的耗時、尖峰記憶體用量、建置目錄成長。
並行建置、較多模擬器工作 Flow M4 Pro
M4 Pro / 64GB / 2TB
先按天測試並行能力,再按週執行完整測試集。 逐步增加工作數量,觀察記憶體壓力、測試穩定性與磁碟寫入情形。
MLX 量化模型推論 Flow M4 Pro
M4 Pro / 64GB / 2TB
先按天測試,確認模型相容後再選擇按月或按季租用。 模型權重、上下文與執行快取的總用量,以及固定輸入下的處理效能。
專案、模型或快取占用大量磁碟空間 依機型所需記憶體選擇;另可評估加購 +1TB SSD 或 +2TB SSD。 確認所選租用週期的加購價格。 檢查目錄位置、磁碟掛載位置、剩餘空間與獨立備份是否完整。
多個節點分工協作 先依單機工作需求選型,再評估 Thunderbolt 5 串接;費用按台計算。 先確認軟體與連線需求,再決定長期租期。 工作拆分與資料傳輸方式。串接不會自動合併統一記憶體,也不代表軟體會自動以分散式方式執行。

如何選擇節點

可選節點共五處:新加坡、日本(東京)、韓國(首爾)、香港與美國東部。兩款機型皆有供應;互動式工作可優先選擇靠近操作者的節點,自動建置則也要考量程式碼與產物的傳輸路徑。

如何記錄測試

固定提交編號與工具版本,分別記錄準備、建置、測試和上傳所需時間。若輸入與環境不同,單次快速完成並不能證明長期工作已適用。

讓遷移目標更明確

少搬一點,多驗證一步

把目標寫成一句可驗收的話:原有流程能順利執行,或實驗已確認相容。達成後,再決定下一步投入。

「把 CI 從本機搬到首爾節點,流程標籤只改一行就跑通了。」

React Native 團隊工程師

「先按天租一台測試 MLX,確認夠用後再改按季租用。」

AI 產品原型開發者

挑一個情境,租一台試試

準備一個專案、一組輸入和一項驗收標準。先讓工作順利執行,再決定要把多少工作交給雲端。

可按天、週、月或季租用。僅支援 USDT-TRC20,以及透過 Stripe 處理的 Visa / Mastercard / Amex;以美元結算。實際可用的付款閘道以控制台回報為準。