評估單次 Archive 所需時間、依賴規模、快取命中率與暫存磁碟用量。
一台獨享雲端 Mac,適合哪些工作負載?
目前在售的配置只有 CDNMac M4:M4、16GB RAM、256GB SSD。每筆訂單皆為獨享實體機,並非虛擬機。先依佇列方式、儲存規模、遠端操作需求與記憶體用量確認是否合適,再決定租期、節點與附加項目。
評估 SSH 與 VNC 的使用頻率、程式碼同步方式、背景工作與工作區容量。
評估分支併行數、佇列隔離、簽章檢查、日誌回收與產物保留期限。
先確認模型權重、上下文快取與資料集是否能放進 16GB 統一記憶體。
- 晶片
- M4
- 記憶體
- 16GB
- 系統碟
- 256GB SSD
- 資源類型
- 獨享實體機
將 CDNMac M4 註冊為專用建置執行器
適合已使用 GitHub Actions、GitLab CI、Jenkins 或自建排程系統的團隊。將雲端 Mac 註冊為 self-hosted runner 後,由儲存庫事件觸發工作,再由 CDNMac M4 還原依賴、執行測試、執行 Xcode Archive、檢查簽章並產出建置成品。
獨享實體機的 CPU、記憶體、磁碟與工作目錄不會與其他租戶共用。適合需要固定 Xcode 版本、穩定快取目錄及可追蹤工作區狀態的 CI/CD 流程,但無法自動排除專案本身的依賴衝突或簽章設定問題。
-
01
接收儲存庫事件
依主分支、發布分支或手動觸發的工作,加入受控佇列。
-
02
還原鎖定的依賴
優先使用鎖定檔與可驗證的快取,避免環境版本任意變動。
-
03
執行 Archive
固定 Xcode、Scheme、Configuration 與匯出參數。
-
04
檢查並交付建置成品
保留必要日誌,並將成品複製到團隊控管的儲存空間。
分開管理觸發、快取、失敗清理與成品保留
自動化打包的重點,不是把本機指令搬到遠端,而是讓每次執行都能重現、快速定位失敗、清除殘留,並避免將敏感簽章資料提交到程式碼儲存庫。
讓不同分支進入明確的佇列
主分支可執行持續驗證,發布分支執行 Archive 與匯出,修正分支則依需求觸發。為各類工作設定獨立的併行規則,避免多個工作區同時修改相同的快取或 DerivedData。
快取必須能透過鎖定檔驗證
分別管理 Swift Package Manager、CocoaPods、Flutter 與 JavaScript 依賴快取。快取索引應包含鎖定檔摘要、工具版本與架構資訊;快取未命中時,則改為全新安裝。
保留可還原問題的時間軸
記錄工作開始時間、提交識別碼、Xcode 版本、失敗階段與結束代碼。上傳前先移除權杖、私鑰、憑證密碼,以及其他不應出現在日誌中的內容。
明確訂出由誰保存、保存多久及何時清理
將封存檔、符號檔與匯出套件複製到受控儲存空間,再依團隊政策刪除本機暫存檔。不要把雲端 Mac 的工作目錄當成唯一備份。
命令列工作使用 SSH,圖形操作則視需要使用 VNC
SSH 適合抓取程式碼、安裝依賴、執行建置指令、查看日誌與執行背景工作;VNC 則適合需要 macOS 圖形介面、Xcode 專案設定或視覺化除錯的操作。兩種連線方式應使用不同憑證並遵守最小權限原則,切勿將長效存取憑證寫入儲存庫。
程式碼可透過版本控制、受控檔案傳輸或團隊既有的同步流程同步。持續執行的工作應記錄處理程序、工作目錄與輸出位置,避免關閉工作階段後無法確認工作狀態。租期結束前,請主動匯出程式碼變更、建置日誌、封存檔及其他必要成品。
適合可透過指令碼操作的工作,也方便保留命令記錄與結束狀態。
僅在需要圖形操作時建立工作階段,完成後請立即登出。
提交程式碼變更,並將封存檔與日誌複製到受控儲存空間。
匯出必要內容、移除暫存憑證,並確認沒有尚未同步的變更。
Flutter 與 React Native 最終仍須使用 Xcode 建置
跨平台框架可共用業務邏輯,但 iOS 成品仍仰賴 macOS、Xcode、原生依賴與簽章環境。評估時,應分開檢視框架層與原生建置層。
分別檢視 Dart、CocoaPods 與 Xcode 階段
先還原 Dart 依賴,再處理 CocoaPods 與原生外掛,最後進入 Xcode 編譯與匯出。快取應區分 Flutter SDK、外掛鎖定檔、Pods 與 DerivedData,不能用同一個快取索引涵蓋所有階段。
- 固定 Flutter、Ruby、CocoaPods 與 Xcode 版本。
- 快取未命中時,應能改用全新安裝流程。
- 失敗日誌應標明問題發生於框架層或原生層。
一併鎖定 JavaScript 依賴與原生專案
Node.js 套件管理工具負責 JavaScript 依賴,CocoaPods 與 Xcode 則負責 iOS 原生部分。請一併鎖定套件管理工具版本、依賴鎖定檔、Pods 狀態與建置參數,避免本機與遠端的建置結果不一致。
- 不同儲存庫應使用各自的 node_modules 與工作目錄。
- 升級原生模組後,重新驗證 Pods 與 Xcode 設定。
- 將簽章資料存放在受控位置,不要提交到程式碼儲存庫。
適合模型相容性驗證與原型測試
CDNMac M4 可用於驗證推論框架是否支援 Apple Silicon、檢查模型轉換流程、執行小規模樣本及測試應用程式整合。這不代表能保證任意模型的處理效能;未確認記憶體需求前,也不應直接用於大型正式環境推論工作。
目前配置為 16GB RAM。評估時,應將模型權重、執行環境開銷、上下文快取、輸入資料、開發工具與系統用量一併納入計算。只看模型檔案大小,通常不足以判斷工作能否穩定執行。
- 模型權重
- 確認載入後的實際記憶體用量,不要只看下載檔案大小。
- 上下文快取
- 上下文長度增加時,快取用量可能持續上升。
- 執行環境與工具
- 為框架、轉換工具、IDE 與系統預留空間。
- 輸入資料與結果
- 較大型資料集建議評估 +2TB SSD,並分批載入。
從基本配置開始,只為明確需求加購附加項目
我們不會透過虛構機型來滿足不同情境。所有工作都以 CDNMac M4 基本配置為起點,再依儲存容量或多裝置並聯需求選擇固定附加項目。
CDNMac M4
Mac mini M4 · 16GB RAM · 256GB SSD
-
01
輕量建置 單一儲存庫驗證、短佇列、一般 ArchiveCDNMac M4 基本配置
先以 256GB SSD 驗證依賴、快取與成品能否配合清理政策穩定周轉。
-
02
日常開發 長期工作區、多個專案、頻繁圖形操作CDNMac M4 + 可選 +1TB SSD
適合需要保留更多儲存庫、SDK、依賴快取與建置封存檔的開發流程。
-
03
大型資料集或模型實驗 模型檔案、樣本、轉換結果與多批次輸出CDNMac M4 + 可選 +2TB SSD
擴充的是儲存容量,不會增加 16GB RAM;下單前仍須另外確認記憶體需求。
-
04
多裝置並行工作流程 需要評估多台裝置之間的高速連線評估 Thunderbolt 5 並聯
依每台裝置選擇並聯附加項目,並先確認工作拓撲、資料方向與軟體支援狀況。
| 工作類型 | 基本機型 | 建議評估項目 | 下單前須確認 |
|---|---|---|---|
| 輕量 iOS 建置 | CDNMac M4 | 基本配置 256GB SSD | 依賴規模、快取清理方式、單次成品大小 |
| 日常遠端開發 | CDNMac M4 | 依需求加選 +1TB SSD | 儲存庫數量、SDK、封存檔與工作區總用量 |
| 資料或模型實驗 | CDNMac M4 | 依需求加選 +2TB SSD | 16GB RAM 是否足以容納模型、快取與執行環境 |
| 多裝置並行工作流程 | CDNMac M4 | Thunderbolt 5 並聯 | 裝置數量、連線拓撲與工具鏈支援狀況 |
需要配置清單以外的硬體時,請勿將基本配置視為替代方案
若專案明確要求未列出的晶片、超過 16GB 的記憶體,或不同的內建磁碟配置,就不應宣稱目前的 CDNMac M4 已符合需求。請先提供實際需求、工具版本、資料規模與併行方式,交由服務團隊確認。
目前僅提供 M4,不提供清單以外的晶片配置。
目前配置為 16GB RAM,儲存空間附加項目無法取代記憶體。
基本系統碟為 256GB SSD,容量擴充請選擇固定附加項目。
請先評估佇列、工作隔離與多筆訂單方案,不要假設單機能無限併行。