為團隊安排建置資源

依工作流程挑選節點

從單一 App 日常 CI 到 Unity 打包,兩款機型任你挑選。

先確認工作是每天執行,還是只在版本發布時集中出現,再評估記憶體、快取與平行處理需求。VMFly 提供整台專屬的實體 Apple Silicon Mac mini,並非虛擬機;每台節點僅供一位客戶使用,不必與其他租戶共用同一台主機的建置資源。

  • 起租價格 $20.1/天
  • 晶片選擇 Apple Silicon M4 / M4 Pro
  • 計費週期 天 / 週 / 月 / 季
日常建置 · 長期節點

以團隊專屬執行器取代共用佇列

每天都要執行的單一 App 工作流程,可以先從月租 Glide M4 節點開始:Apple Silicon M4、16GB 記憶體、256GB SSD,每月 $100.7。將 GitHub Actions 的 macOS 工作指派給自己的 runner,就不必等其他租戶在共用主機上完成工作。

先遷移一條可重現的工作流程

選一條結果穩定的既有建置流程,記錄提交版本、Xcode 版本、依賴鎖定檔與簽署方式。先完成一次乾淨建置,再啟用快取;否則舊快取可能掩蓋環境差異。

  1. 在節點上安裝並註冊團隊的 self-hosted runner。
  2. 為執行器設定專案專屬標籤,例如 vmfly-ios,並限制可呼叫的儲存庫。
  3. 以同一個提交分別執行舊流程與新節點,核對測試結果、封存設定和產出檔案。

適合固定分支檢查、夜間打包與每天重複執行的回歸測試。

專屬資源不代表無限平行處理

整台主機專屬使用可避免與其他租戶爭用資源,但團隊提交的工作仍須安排佇列。遷移第一天別急著把所有工作同時塞進一台機器。

  • 先從一項工作開始,觀察建置時的記憶體峰值、磁碟剩餘空間與快取成長情況。
  • 為封存工作和 UI 測試設定不同標籤,避免同一個工作目錄遭到同時寫入。
  • 先用實際專案確認 16GB 記憶體是否足夠,再決定增加節點或改選其他機型。

驗收標準不只是看到綠色狀態:也要確認團隊能下載產出檔案、保留記錄,且 runner 重新啟動後能恢復運作。月租適合持續使用,但不是每個專案都需要整個月開機。

版本發布擴容 · 按天安排

讓封存與 UI 測試分開使用節點

版本發布週的瓶頸往往集中在幾個工作日。按天加租一台 Cruise M4 Pro,每天 $61.5,搭載 Apple Silicon M4 Pro、64GB 記憶體與 2TB SSD,可用於 UI 測試或封存;原有節點則繼續執行日常檢查,不必為短期尖峰長期添購硬體。

擴容前先劃分工作

一台機器負責封存,另一台負責測試,資源分工才清楚。只增加 runner 數量,卻讓所有工作仍卡在同一個循序執行的階段,不會自動縮短發布流程。

  • 使用同一個提交版本,分別建立封存工作與測試工作。
  • 明確設定產出檔案的命名方式與上傳位置,避免不同分支互相覆寫。
  • 記錄環境初始化步驟,臨時節點也能依設定檔重建。

先測試關鍵流程,再增加平行工作數;不承諾未經實測的建置加速幅度。

版本發布結束前完成交接

將短期節點的結束條件列入發布清單:完成最後一輪驗證、回傳產出檔案並儲存診斷記錄後,再結束租用。停止使用 runner 不代表後續計費安排已取消,請在控制台確認訂閱狀態與到期時間。

  • 匯出需要留存的封存檔、測試報告與失敗記錄。
  • 從程式碼託管平台取消註冊臨時 runner。
  • 撤銷臨時權杖,並在到期前完成資料備份。
Unity iOS · 匯出與封存

將專案匯出為 IPA,串成完整流程

Unity 匯出的 Xcode 專案、依賴安裝、簽署與 IPA 封存,應在同一個可追蹤的環境中執行。Cruise M4 Pro 配備 64GB 記憶體與 2TB SSD,為大型專案、資源匯入和建置快取提供空間;實際容量與工作平行數仍須依專案驗證。

  1. 01

    固定匯出環境

    記錄 Unity 編輯器版本、專案依賴與 iOS 匯出設定;使用固定提交產生 Xcode 專案,避免本機與節點使用不同版本的編輯器。

  2. 02

    驗證簽署與封存

    檢查目標、建置設定、描述檔與匯出方式。透過團隊核准的憑證流程提供簽署資料,切勿將資料放進程式碼儲存庫或公開記錄。

  3. 03

    分開管理快取與交付檔案

    快取可以重建,發布成品則必須留存。為 Unity 中間檔、DerivedData 與歷史封存檔分別設定目錄和清理規則,避免檔案長期累積、塞滿系統磁碟。

互動式工作 · 先驗證再長期使用

除錯需要桌面,實驗需要可重現的環境

不只適用於無人值守打包。登入控制台後,可在瀏覽器中開啟節點的 macOS 遠端桌面,直接使用 Xcode 除錯;也可透過 SSH 執行指令碼,在 Apple Silicon 上驗證本機模型推論流程。

遠端開發先確認互動延遲

頻繁操作模擬器、檢查介面或逐步除錯時,網路往返時間比背景建置更容易影響使用體驗。可選機房位於新加坡、日本(東京)、韓國(首爾)與香港;先試用離團隊較近的節點,再決定長期使用地點。

  • 在自己的辦公室網路環境下,檢查文字清晰度、操作回應與檔案傳輸。
  • 錯開日常編輯與長時間封存工作,減少團隊內部的資源競爭。
  • 多人共用同一節點時,先訂定桌面操作與憑證管理規則。

瀏覽器桌面適合互動操作,SSH 適合自動化;兩者可用於同一個專案。

AI 實驗先確認記憶體用量

選型時應考量模型檔案、推論精度、上下文長度與同時執行的工具,而非只看模型名稱。先用短期租用完成環境安裝與範例驗證,再決定使用 Glide M4 或 Cruise M4 Pro。

  • 確認依賴項支援 Apple Silicon,並記錄安裝版本與啟動參數。
  • 觀察實際執行時的記憶體壓力,別把 SSD 容量當成記憶體容量。
  • 保存輸入資料、參數與輸出結果,方便移轉至新節點後重現實驗。

64GB 記憶體不代表所有模型都能執行;相容性與容量需求須以實際工作驗證。

工作流程檢查 · 從簽署到發佈

讓每個打包階段都留下可追查的結果

以下是 fastlane 流程示意,並非節點實測記錄。團隊須自行設定簽署儲存庫的存取權限、專案 scheme、App 識別碼與發佈憑證。先確認每個步驟都能獨立成功,再串接成無人值守工作。

cruise-m4pro — fastlane
$ bundle exec fastlane match appstore --readonly
[match] Fetching signing certificates and profiles
[match] Installing signing assets into the build keychain
[match] Signing assets are ready

$ bundle exec fastlane gym --scheme "$SCHEME" --export_method app-store
[gym] Archiving the selected scheme
[gym] Exporting the archive
[gym] IPA export completed

$ bundle exec fastlane pilot upload --ipa "$IPA_PATH"
[pilot] Uploading the selected IPA
[pilot] Upload completed; processing continues on TestFlight

match:僅取得必要憑證

CI 以唯讀方式取得既有簽署資料。若無法存取簽署儲存庫,請先檢查授權;切勿在記錄中輸出私密金鑰、權杖或解密密碼。

gym:區分封存與匯出

封存成功不代表 IPA 匯出成功。請保留封存記錄,分別檢查 scheme、簽署設定與匯出參數,避免將兩個階段混為同一種錯誤。

pilot:上傳不代表處理完成

上傳後仍須等待發佈平台處理。請保存上傳結果並檢查處理狀態;不可只因網路上傳成功,就判定團隊驗收通過。

每天建置 20 次 · 部署方式比較

比較資源歸屬,也比較維運責任

假設中小型團隊每天觸發 20 次建置。這個數字僅用來說明工作頻率,不代表效能測試,也無法單憑此推算所需機器數量。還應記錄單次耗時、同時觸發數、快取命中率與發布尖峰,再比較以下三種部署方式。

同一條 iOS 工作流程的部署選項;實際功能與交付條件請依平台確認。
比較項目 租用 VMFly 實體節點 自購 Mac 硬體 共用虛擬機
費用結構 可按天、週、月或季租用。Glide M4 每月 $100.7,附加項目另計。 一次購機,另須負擔機櫃上架、網路、電費與日常管理成本。 依平台週期或用量計費;也須確認排隊規則與平行處理額度。
交付方式 確認付款後分配實體機;實際可用狀態以控制台即時顯示為準。 須完成採購、到貨、網路連線與遠端存取設定。 由平台調度資源;是否須排隊及環境能否保留,依服務而異。
專屬使用 整台 Mac mini 僅供一位客戶使用,並非虛擬機。 硬體由團隊專屬使用,現場與系統管理也由團隊負責。 通常與其他執行個體共用主機資源;隔離與資源分配由平台負責。
擴充彈性 可更換機型或增加節點;環境與資料移轉須自行安排。 擴容通常須添購硬體並部署,原有機器也會持續占用資產預算。 可選規格與擴容方式受平台方案與調度規則限制。

先用同一個提交測試選型

每天 20 次短時間建置,可能更需要穩定的快取;少量但耗時較長的 UI 測試,可能更適合拆分到不同節點執行。別只根據建置次數升級機型。使用同一個專案分別檢查耗時、記憶體與磁碟用量,再決定長期保留一台 Glide M4,或在版本發布期間加租 Cruise M4 Pro。

VMFly 提供專屬實體節點;團隊仍須管理專案依賴、runner 權限、簽署資料與產出檔案備份。如果需要全代管的工作流程編排,請先確認團隊現有工具是否已涵蓋這些工作。

依使用情境挑選方案

日常建置看持續負載,臨時擴容看使用天數。先確認兩款規格與四種週期,再為工作流程安排節點。