-
01
確認方案與節點配置、週期、城市與儲存擴充保持一致
-
02
初始化 Xcode 環境檢查版本、命令列工具、Git 與相依套件管理器
-
03
執行首次 archive固定 scheme、簽署設定與匯出參數
-
04
註冊 CI runner隔離工作目錄並設定建置後清理規則
將雲端 Mac 接入你的 Xcode 建置流程
本指南涵蓋選型、下單、連線、環境初始化、首次 archive 與 CI runner 接入。依序執行,先跑通一條可重現的發佈流程,再增加並行工作與快取。
- 3 種
- 固定配置
- 4 個
- 在售節點
- $20.7/天
- 最低入門價格
開始前先鎖定五項輸入
真正影響交付速度的不是安裝多少工具,而是帳戶權限、儲存庫權限、Xcode 版本、節點與租用期間是否在下單前確認清楚。
開發者權限
確認 Apple Developer 帳戶具備目標團隊、憑證、描述檔與發佈所需權限。不要等到 archive 完成後才檢查簽署存取範圍。
儲存庫存取
準備最小權限的部署憑證,確認主儲存庫、私有相依套件、子模組與大型檔案儲存空間都可讀取。CI 專用憑證不要與個人長期憑證共用。
Xcode 版本
將專案要求精確到主版本與建置版本,並核對 Swift、SDK 與命令列工具的相容性。runner 應固定版本,不要依賴臨時切換。
節點位置
在新加坡、東京、首爾與香港之間,優先選擇靠近主要開發者、程式碼儲存庫與相依套件來源的節點,再透過實際連線體驗驗證。
租用期間
臨時簽署驗證可從按日或按週開始;持續開發與固定 runner 更適合按月或按季。先依實際建置計畫選擇,不要預估虛構使用率。
依負載選配置,不要憑專案名稱猜測
三種方案均為 Apple Silicon 獨享實體機,並非虛擬機。選擇時重點查看並行工作數、相依套件規模、快取容量與統一記憶體需求。
Go M4 Core
適合單一專案驗證、臨時簽署、低並行度的 Xcode 建置,以及需要獨享環境的短期工作。
- 晶片
- M4
- 記憶體
- 16GB
- 儲存空間
- 256GB
Go M4 Plus
適合多個日常專案、React Native 或 Flutter 相依套件安裝,以及需要適度並行的持續整合佇列。
- 晶片
- M4
- 記憶體
- 24GB
- 儲存空間
- 512GB
Go M4 Pro
適合更高並行度建置、大型相依套件快取,以及對統一記憶體與本機儲存空間要求較高的 AI 推論實驗。
- 晶片
- M4 Pro
- 記憶體
- 64GB
- 儲存空間
- 2TB
建立訂單時一次確認四組參數
配置器會將主機、期間、節點與附加項目整合在同一張訂單中。提交前逐行核對,避免環境建立後才搬移資料。
晶片、記憶體與系統磁碟規格以配置卡為準。
附加項目的週期必須與主機週期一致。
新加坡、東京、首爾與香港均可在配置器中選擇。
可選擇 +1TB SSD、+2TB SSD 或 Thunderbolt 5,每台可並行連接。
先用圖形介面驗收,再接入自動化
收到交付資訊後,先透過 VNC 檢查桌面、鍵盤、網路與系統狀態;確認基礎環境正常後,再使用 SSH 執行腳本與 runner 工作。
使用 VNC 完成桌面驗收
核對解析度、鍵盤配置、剪貼簿、時區與網路存取。首次驗收不要同時修改大量系統設定,方便發生問題時定位變因。
- 記錄節點位址與連線時間
- 確認桌面工作階段可持續使用
- 檢查基本下載與儲存庫存取
使用 SSH 接手重複工作
將提取程式碼、安裝相依套件、清理快取與執行建置寫成可重複執行的腳本。憑證應採用最小權限,並與日誌、建置產物分開儲存。
- 限制金鑰可存取的專案範圍
- 固定腳本入口與工作目錄
- 為失敗命令保留結束代碼與日誌
將開發環境初始化為可重現狀態
先驗證系統與 Xcode,再安裝專案工具。每一步都保留版本輸出,後續 runner 才能判斷環境差異來自程式碼還是主機。
sw_vers
確認 macOS 版本
xcodebuild -version
確認 Xcode 與建置版本
xcode-select -p
確認命令列工具路徑
git --version
確認 Git 可用
fastlane --version
確認自動化工具版本
-
01
檢查系統帳戶
確認目前使用者、主目錄、管理員權限與磁碟掛載位置。專案目錄不要散落在桌面或暫存下載目錄。
-
02
完成 Xcode 首次啟動
開啟目標 Xcode,接受必要元件安裝,並確認命令列工具指向同一版本。
-
03
安裝專案相依套件鏈
依專案鎖定檔安裝套件管理器與相依套件,不要在首次建置時盲目升級鎖定版本。
-
04
固定 Fastlane 與腳本入口
使用專案內的版本限制,並將建置、測試、歸檔與發佈拆分為可獨立重試的工作。
首次 Xcode 雲端編譯只驗證一條主要流程
第一輪目標不是追求最快,而是從乾淨目錄取得可驗證的產物。固定儲存庫版本、scheme、簽署與匯出方式,之後再最佳化快取。
提取確定版本
使用明確的分支、標籤或提交編號。同步子模組與相依套件鎖定檔,並記錄本次建置對應的提交。
確認 scheme
先使用 xcodebuild -list 檢查可用的 scheme,確認目標 scheme 已共用且適合命令列建置。
檢查簽署材料
核對憑證、描述檔、Bundle Identifier 與團隊權限。簽署密碼不得寫入儲存庫或一般建置日誌。
執行 archive
明確指定 workspace 或 project、scheme、configuration 與歸檔路徑;失敗時保留完整結束代碼與日誌。
驗證匯出產物
檢查產物名稱、版本號、建置號、簽署結果與檔案大小,並確認 TestFlight 發佈流程可以接收。
讓 self-hosted runner 可控地接手建置
首次 archive 跑通後再註冊 runner。重點不是「在線」,而是隔離工作目錄、清晰標籤、限制專案權限,且每次工作後都能還原。
每個 runner 使用專用路徑
分開管理原始碼、DerivedData、相依套件快取與匯出產物。不要讓多個並行工作寫入同一個歸檔路徑。
標籤描述能力,不描述臨時工作
標籤可表達節點、Xcode 主版本與負載等級。避免將專案名稱、人員名稱或短期分支寫入長期標籤。
只授權需要執行的專案
限制 runner 可讀取的儲存庫與變數範圍。生產簽署材料與測試建置權限應依工作流程拆分。
工作結束後刪除敏感殘留
清除暫存憑證、匯出設定與不再需要的產物;依目錄、容量與更新時間管理快取,不要無差別清空。
上線前完成最後一輪交付檢查
將以下項目寫入團隊執行手冊。檢查通過後,runner 才適合承接持續建置與 TestFlight 發佈工作。
憑證與描述檔
確認有效期、團隊歸屬、Bundle Identifier 與使用範圍,並記錄更新負責人。
磁碟剩餘空間
檢查原始碼、DerivedData、相依套件快取、歸檔與匯出產物的佔用量,預留連續建置空間。
快取策略
明確定義哪些目錄可重複使用、何時失效、容量上限與清理條件,不要快取簽署密碼與暫存權杖。
TestFlight 流程
從歸檔匯出到完成上傳執行一次端到端驗證,並確認版本號、建置號與發佈日誌相互對應。
敏感資訊清理
檢查儲存庫、環境檔案、命令歷史與建置日誌,刪除不應長期保留的金鑰、權杖與簽署密碼。
失敗升級路徑
記錄訂單號碼、節點、重現時間、錯誤日誌與已執行步驟;需要協助時透過控制台提交工單。
準備好後,從一台獨享節點開始
選擇配置、期間與節點,先跑通首次 Xcode 歸檔,再將穩定命令接入 CI 佇列。