控制台帳戶
確認下單人員能夠登入控制台,並查看訂單、帳單、節點與設備狀態。技術負責人應知道由誰提交工單及執行續租。
這份入門指南涵蓋準備資料、選擇兩種獨享實體主機、確認四個節點、首次 SSH 登入與 Xcode 建置驗證。請依序執行,完成每一步後再進入下一步。
下單前明確指定由誰負責連線、建置與權限管理,可減少設備交付後反覆補充資訊。以下五項都應有明確負責人。
確認下單人員能夠登入控制台,並查看訂單、帳單、節點與設備狀態。技術負責人應知道由誰提交工單及執行續租。
準備團隊認可的 Ed25519 公鑰,只提交公鑰內容。私鑰應保留在受控設備或金鑰系統中,不要透過電子郵件、工單或儲存庫傳送。
從專案、CI 設定與相依套件確認目標 Xcode 版本,同時記錄最低 macOS 需求。不要只寫「最新版」,應保留可核對的版本號。
確認節點可以使用受限部署金鑰或短期權杖讀取所需儲存庫。先確定最小權限範圍,再決定是否允許寫入製品或提交狀態。
需要圖形操作時,提前準備 VNC 或 macOS 螢幕共享用戶端。自動化、診斷與檔案操作優先使用 SSH,減少對圖形工作階段的依賴。
兩種機型皆為 Apple Silicon 實體節點與獨享實體主機,並非虛擬機。新加坡、東京、首爾與香港均在目錄中,實際可用性以結帳時控制台即時回傳為準。
M4 · 16GB RAM · 256GB SSD
適合單一 iOS 建置流程、日常 macOS 編譯、相依套件驗證,以及持續執行的輕量自託管 runner。
選擇依據:先測量一次乾淨建置的記憶體峰值與磁碟工作集,再為相依套件快取、日誌與製品預留空間。
M4 · 24GB RAM · 512GB SSD
適合較大的 Xcode 工作區、平行測試、容器工作負載,以及需要保留更多建置快取與製品的團隊。
選擇依據:當 runner 需要同時執行編譯、模擬器測試與相依套件處理時,優先核對記憶體峰值與快取成長速度。
節點選擇應靠近主要開發者、程式碼來源或自動化調度入口。不要只比較單次 ping,也要觀察工作時段的穩定性與遠端桌面體驗。
可按天、週、月或季租用。短期驗證可依預計測試時間選擇週期;穩定的流程則應結合發布節奏與續租責任確認週期。
訂單會分別列出基礎機型、週期、節點與附加項目。所有價格與結算統一使用美元(USD),提交付款前應由下單人員再次核對。
依照控制台回傳的付款資訊核對網路、金額與訂單識別碼。轉帳前確認使用 TRC20 網路,提交後保留可供對帳的交易紀錄。
信用卡付款由 Stripe 處理。付款頁面返回後,請在控制台核對訂單狀態與帳單金額,不要以瀏覽器返回頁面作為設備交付依據。
方案名稱、M4 晶片、記憶體與基礎 SSD 應與所選方案一致。
確認是天、週、月或季,避免將測試週期誤選為長期週期。
確認新加坡、東京、首爾或香港與連線計畫一致。
確認 SSD 擴充與 Thunderbolt 5 並聯數量後,再提交付款。
實際可用的付款閘道以控制台回傳為準。付款完成不代表設備已可連線,請繼續檢查訂單狀態與交付資訊。
設備狀態變為可連線後,再讀取位址、帳戶說明與租期。不要使用聊天記錄、舊截圖或其他訂單中的連線資訊。
每個欄位都應來自同一筆訂單。若節點、位址或租期與預期不一致,請先停止連線並透過控制台提交工單。
第一次 SSH 連線的重點不是立即安裝相依套件,而是確認目標位址、主機指紋、登入使用者與硬體資訊都屬於目前訂單。
$ export ZOOMMINI_HOST=assigned-host
$ ssh-keyscan -t ed25519 "$ZOOMMINI_HOST" | ssh-keygen -lf -
256 SHA256:7qV3mL9kR2nF4cX8 assigned-host (ED25519)
$ ssh build@"$ZOOMMINI_HOST"
Last login: remote session
build@zoommini-node ~ %
$ sw_vers
ProductName: macOS
ProductVersion: 15.2
BuildVersion: 24C101
$ system_profiler SPHardwareDataType
Hardware:
Model Name: Mac mini
Chip: Apple M4
Memory: 16 GB
$ uname -m
arm64
將分配的位址寫入暫時環境變數或 SSH config,避免命令歷史記錄混入錯誤位址。若使用非預設連接埠,也要同時記錄連接埠參數。
將本機讀取的 Ed25519 指紋與交付記錄逐字元比對。指紋不一致時請停止連線,不要直接接受變更後的記錄。
sw_vers 用於確認 macOS 版本,system_profiler 用於確認晶片與記憶體,uname -m 應回傳 arm64。
先驗證 Xcode 選擇,再執行專案建置,最後執行自動化測試。每一步都保留結束碼與關鍵日誌,避免只依介面判斷成功。
$ xcodebuild -version
Xcode 16.2
Build version 16C5032a
Xcode 版本與建置版本和專案矩陣一致,指令結束碼為 0。
$ xcodebuild -scheme App build
Prepare packages
CompileSwiftSources normal arm64
Ld App normal arm64
** BUILD SUCCEEDED **
輸出末尾出現 BUILD SUCCEEDED,且沒有簽署、相依套件或磁碟空間錯誤。
$ fastlane ios test
Resolving Swift Package Manager dependencies
Test Suite 'All tests' passed
Executed 48 tests, with 0 failures
fastlane.tools finished successfully
測試數量符合預期、失敗數為 0,fastlane 正常結束且程序結束碼為 0。
先執行 xcode-select -p 查看目前的開發者目錄,再依團隊版本矩陣切換,不要直接修改專案檔案來規避版本問題。
核對儲存庫權限、套件管理器路徑與網路存取範圍。清除快取前先保存錯誤日誌,避免遺失最初的失敗證據。
核對憑證、佈建描述檔與 runner 權限的載入方式。機密資訊應由受控金鑰系統注入,不要寫入腳本與建置日誌。
驗收成功只代表工具鏈可用。正式接入 CI/CD 前,還要完成憑證更新、公鑰管理、權限回收與 runner 最小權限設定。
依照交付說明更新需要更換的初始憑證。使用唯一且受控的密碼,不要與本機開發機、儲存庫或其他節點重複使用。
為需要存取的使用者與自動化身分分別設定公鑰。不要讓多人共用同一把私鑰,公鑰備註應可追溯至具體用途。
刪除測試期間臨時加入的公鑰、儲存庫權杖、管理員權限與遠端桌面授權。離開團隊成員與停用 runner 的存取權應立即回收。
讓 runner 只讀取必要儲存庫、執行指定腳本並寫入指定製品位置。不要預設授予系統管理權限或跨專案權杖。
以下五項同時符合後,再將節點加入正式調度:訂單欄位一致、SSH 指紋一致、系統規格一致、建置與測試結束碼為 0、暫時權限已回收。
先選擇機型、節點與週期。設備可連線後,依本頁順序完成指紋核對、系統檢查、建置驗證與權限強化。