從訂單到首次歸檔

將雲端 Mac 接入你的 Xcode 建置流程

本指南涵蓋選型、下單、連線、環境初始化、首次 archive 與 CI runner 接入。依序執行,先跑通一條可重現的發佈流程,再增加並行工作與快取。

3 種
固定配置
4 個
在售節點
$20.7/天
最低入門價格
BUILD RUN SHEET 首次 iOS 歸檔
準備執行
程式碼儲存庫 獨享節點 歸檔產物
  1. 01
    確認方案與節點配置、週期、城市與儲存擴充保持一致
  2. 02
    初始化 Xcode 環境檢查版本、命令列工具、Git 與相依套件管理器
  3. 03
    執行首次 archive固定 scheme、簽署設定與匯出參數
  4. 04
    註冊 CI runner隔離工作目錄並設定建置後清理規則
SG 新加坡 JP 東京 KR 首爾 HK 香港
實體節點 1 張訂單對應 1 台獨享主機
步驟 01

開始前先鎖定五項輸入

真正影響交付速度的不是安裝多少工具,而是帳戶權限、儲存庫權限、Xcode 版本、節點與租用期間是否在下單前確認清楚。

開發者權限

確認 Apple Developer 帳戶具備目標團隊、憑證、描述檔與發佈所需權限。不要等到 archive 完成後才檢查簽署存取範圍。

儲存庫存取

準備最小權限的部署憑證,確認主儲存庫、私有相依套件、子模組與大型檔案儲存空間都可讀取。CI 專用憑證不要與個人長期憑證共用。

Xcode 版本

將專案要求精確到主版本與建置版本,並核對 Swift、SDK 與命令列工具的相容性。runner 應固定版本,不要依賴臨時切換。

節點位置

在新加坡、東京、首爾與香港之間,優先選擇靠近主要開發者、程式碼儲存庫與相依套件來源的節點,再透過實際連線體驗驗證。

租用期間

臨時簽署驗證可從按日或按週開始;持續開發與固定 runner 更適合按月或按季。先依實際建置計畫選擇,不要預估虛構使用率。

步驟 02

依負載選配置,不要憑專案名稱猜測

三種方案均為 Apple Silicon 獨享實體機,並非虛擬機。選擇時重點查看並行工作數、相依套件規模、快取容量與統一記憶體需求。

輕量建置

Go M4 Core

適合單一專案驗證、臨時簽署、低並行度的 Xcode 建置,以及需要獨享環境的短期工作。

晶片
M4
記憶體
16GB
儲存空間
256GB
選擇 Go M4 Core
高記憶體負載

Go M4 Pro

適合更高並行度建置、大型相依套件快取,以及對統一記憶體與本機儲存空間要求較高的 AI 推論實驗。

晶片
M4 Pro
記憶體
64GB
儲存空間
2TB
選擇 Go M4 Pro
步驟 03

建立訂單時一次確認四組參數

配置器會將主機、期間、節點與附加項目整合在同一張訂單中。提交前逐行核對,避免環境建立後才搬移資料。

訂單參數核對清單 提交前檢查
HOST
選擇三種主配置之一

晶片、記憶體與系統磁碟規格以配置卡為準。

TERM
選擇日、週、月或季

附加項目的週期必須與主機週期一致。

NODE
選擇四個在售節點之一

新加坡、東京、首爾與香港均可在配置器中選擇。

ADD
依工作需求加入擴充項目

可選擇 +1TB SSD、+2TB SSD 或 Thunderbolt 5,每台可並行連接。

節點選擇

先選靠近主要工作流程的位置

遠端桌面體驗更取決於開發者到節點的網路路徑;相依套件下載速度也會受到儲存庫與下載來源位置影響。建議先選候選節點,再用真實專案測試。

查看節點說明
可用性說明

以控制台即時回傳為準

目錄中的所有組合均可發起訂購;建立訂單時的實際可用狀態以控制台即時回傳為準。不要根據頁面截圖推斷目前狀態。

開始配置訂單
步驟 04

先用圖形介面驗收,再接入自動化

收到交付資訊後,先透過 VNC 檢查桌面、鍵盤、網路與系統狀態;確認基礎環境正常後,再使用 SSH 執行腳本與 runner 工作。

連線 01

使用 VNC 完成桌面驗收

核對解析度、鍵盤配置、剪貼簿、時區與網路存取。首次驗收不要同時修改大量系統設定,方便發生問題時定位變因。

  • 記錄節點位址與連線時間
  • 確認桌面工作階段可持續使用
  • 檢查基本下載與儲存庫存取
連線 02

使用 SSH 接手重複工作

將提取程式碼、安裝相依套件、清理快取與執行建置寫成可重複執行的腳本。憑證應採用最小權限,並與日誌、建置產物分開儲存。

  • 限制金鑰可存取的專案範圍
  • 固定腳本入口與工作目錄
  • 為失敗命令保留結束代碼與日誌
步驟 05

將開發環境初始化為可重現狀態

先驗證系統與 Xcode,再安裝專案工具。每一步都保留版本輸出,後續 runner 才能判斷環境差異來自程式碼還是主機。

環境檢查命令 ENV-CHECK
$ sw_vers 確認 macOS 版本
$ xcodebuild -version 確認 Xcode 與建置版本
$ xcode-select -p 確認命令列工具路徑
$ git --version 確認 Git 可用
$ fastlane --version 確認自動化工具版本
  1. 01

    檢查系統帳戶

    確認目前使用者、主目錄、管理員權限與磁碟掛載位置。專案目錄不要散落在桌面或暫存下載目錄。

  2. 02

    完成 Xcode 首次啟動

    開啟目標 Xcode,接受必要元件安裝,並確認命令列工具指向同一版本。

  3. 03

    安裝專案相依套件鏈

    依專案鎖定檔安裝套件管理器與相依套件,不要在首次建置時盲目升級鎖定版本。

  4. 04

    固定 Fastlane 與腳本入口

    使用專案內的版本限制,並將建置、測試、歸檔與發佈拆分為可獨立重試的工作。

步驟 06

首次 Xcode 雲端編譯只驗證一條主要流程

第一輪目標不是追求最快,而是從乾淨目錄取得可驗證的產物。固定儲存庫版本、scheme、簽署與匯出方式,之後再最佳化快取。

01

提取確定版本

使用明確的分支、標籤或提交編號。同步子模組與相依套件鎖定檔,並記錄本次建置對應的提交。

02

確認 scheme

先使用 xcodebuild -list 檢查可用的 scheme,確認目標 scheme 已共用且適合命令列建置。

03

檢查簽署材料

核對憑證、描述檔、Bundle Identifier 與團隊權限。簽署密碼不得寫入儲存庫或一般建置日誌。

04

執行 archive

明確指定 workspace 或 project、scheme、configuration 與歸檔路徑;失敗時保留完整結束代碼與日誌。

05

驗證匯出產物

檢查產物名稱、版本號、建置號、簽署結果與檔案大小,並確認 TestFlight 發佈流程可以接收。

成功標準 同一提交可使用同一命令再次產生有效歸檔
暫不最佳化 並行度、快取命中率與增量建置速度
步驟 07

讓 self-hosted runner 可控地接手建置

首次 archive 跑通後再註冊 runner。重點不是「在線」,而是隔離工作目錄、清晰標籤、限制專案權限,且每次工作後都能還原。

工作目錄

每個 runner 使用專用路徑

分開管理原始碼、DerivedData、相依套件快取與匯出產物。不要讓多個並行工作寫入同一個歸檔路徑。

標籤設計

標籤描述能力,不描述臨時工作

標籤可表達節點、Xcode 主版本與負載等級。避免將專案名稱、人員名稱或短期分支寫入長期標籤。

存取範圍

只授權需要執行的專案

限制 runner 可讀取的儲存庫與變數範圍。生產簽署材料與測試建置權限應依工作流程拆分。

清理規則

工作結束後刪除敏感殘留

清除暫存憑證、匯出設定與不再需要的產物;依目錄、容量與更新時間管理快取,不要無差別清空。

步驟 08

上線前完成最後一輪交付檢查

將以下項目寫入團隊執行手冊。檢查通過後,runner 才適合承接持續建置與 TestFlight 發佈工作。

憑證與描述檔

確認有效期、團隊歸屬、Bundle Identifier 與使用範圍,並記錄更新負責人。

磁碟剩餘空間

檢查原始碼、DerivedData、相依套件快取、歸檔與匯出產物的佔用量,預留連續建置空間。

快取策略

明確定義哪些目錄可重複使用、何時失效、容量上限與清理條件,不要快取簽署密碼與暫存權杖。

TestFlight 流程

從歸檔匯出到完成上傳執行一次端到端驗證,並確認版本號、建置號與發佈日誌相互對應。

敏感資訊清理

檢查儲存庫、環境檔案、命令歷史與建置日誌,刪除不應長期保留的金鑰、權杖與簽署密碼。

失敗升級路徑

記錄訂單號碼、節點、重現時間、錯誤日誌與已執行步驟;需要協助時透過控制台提交工單。

READY 首次建置可重現、runner 權限受控、敏感資訊已清理
進入控制台提交工單

準備好後,從一台獨享節點開始

選擇配置、期間與節點,先跑通首次 Xcode 歸檔,再將穩定命令接入 CI 佇列。