任務輸入
將程式碼、依賴鎖定檔、代理素材、模型權重或自動化任務同步至實體節點。先確認輸入規模、來源位置與增量同步方式。
可重現的工作流程
MiniDeploy 提供整台 Mac mini 的獨享實體主機資源,不與其他租戶共用晶片、記憶體或儲存空間,也不是虛擬機器。你可以透過遠端 Mac 桌面操作圖形介面,也可以使用 SSH、腳本與 self-hosted runner 執行自動化任務。
將程式碼、依賴鎖定檔、代理素材、模型權重或自動化任務同步至實體節點。先確認輸入規模、來源位置與增量同步方式。
在獨享 Apple Silicon 晶片、16GB 記憶體與 256GB SSD 上執行 Xcode、測試、推論或編碼任務。系統命令列與 macOS 圖形介面皆可完整使用。
將封存檔、測試報告、效能資料或媒體檔案傳回團隊儲存空間。驗收時同時檢查完整性、日誌、耗時與可重複執行能力。
使用情境卡片
同一台雲端 Mac 可以處理互動式與自動化任務,但輸入規模、網路依賴與完成條件各不相同。先依任務類型確認關鍵指標,再決定節點與連線方式。
透過遠端 Mac 桌面開啟專案,在圖形介面中完成中斷點除錯、設定檢查與封存;依賴安裝、測試與重複建置則交由命令列處理。
程式碼提交後由 runner 接手,在隔離的工作目錄中執行依賴還原、測試、建置與產物上傳,讓團隊掌控建置環境與快取策略。
固定 Python 環境、模型版本、量化方式與輸入樣本,在 Apple Silicon 上記錄首次載入、穩定吞吐量、記憶體峰值與輸出一致性。
先上傳低容量代理素材,再透過遠端桌面完成剪輯、時間軸檢查與編碼;高解析度原始檔與成片則安排在非互動階段傳輸。
開發者工作流程
適合需要持續維護 iOS、macOS 或 visionOS 專案,但本機沒有可長時間執行 Mac 環境的開發者。互動式除錯使用遠端 Mac 桌面,建置與封存則保留可重現的指令。
拉取指定提交,確認子模組、依賴鎖定檔與建置設定已同步。不要把未記錄的本機快取當作唯一依賴來源。
驗收:git status 沒有意外變更,提交識別碼與待建置版本一致。
記錄 Xcode 版本、命令列工具路徑、Ruby 與 Python 執行環境,以及套件管理器的解析結果。先安裝依賴,再開啟專案檢查方案與目標。
驗收:xcodebuild -version 與專案基準一致,依賴解析沒有漂移。
透過遠端桌面進入 Xcode,檢查編譯錯誤、中斷點、主控台輸出與模擬器行為。降低桌面解析度可減少高延遲網路中的畫面傳輸量。
驗收:目標可啟動、關鍵路徑可重現,除錯日誌包含對應的提交識別碼。
將簽署資料限制在專用目錄與最小權限帳戶中,透過可稽核腳本執行封存與匯出。完成檢查後,再進入 TestFlight 發佈步驟。
驗收:封存版本、建置號碼、匯出設定與發佈結果皆寫入本次任務日誌。
CI/CD 工作流程
獨享實體主機適合需要固定 Xcode 版本、可控快取與持續可用執行環境的流程。節點全年 365 天正常運作,團隊仍應針對腳本失敗、磁碟空間用盡與上游依賴異常,設定明確的退出路徑。
以提交識別碼、分支、目標方案與建置類型組成任務輸入。禁止讓不同專案共用同一個未清理的工作目錄。
runner 接手後建立獨立目錄,還原已版本化的依賴快取。快取鍵至少應包含工具鏈、架構與鎖定檔摘要。
使用固定參數呼叫測試與 xcodebuild,將標準輸出、結束碼、測試結果套件與耗時寫入同一筆任務紀錄。
上傳封存檔、測試報告與校驗值,確認接收端完整後再清理任務目錄。敏感日誌應在上傳前完成去識別化。
Runner 驗收
AI 推論工作流程
M4 Core 提供 M4、16GB RAM 與 256GB SSD。適合驗證可放入可用記憶體與儲存範圍內的本機推論任務,不應只根據模型名稱判斷是否能執行。
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.lock
python3 benchmark.py --warmup 3 --runs 10 --seed 42
記錄 macOS 版本、Python 版本、依賴鎖定檔與執行指令。模型執行依賴應能從空白環境成功安裝,而不是依賴個人終端機歷史。
固定模型修訂版、量化方式、提示詞、樣本長度、批次大小與隨機種子。模型檔案同步完成後,核對檔案大小與摘要。
分開記錄首次載入耗時與預熱後的連續推論。每輪保存開始時間、結束時間、記憶體峰值與異常結束資訊。
報告至少應包含首輪延遲、中位耗時、穩定吞吐量、記憶體峰值與十輪結果的離散程度。不同環境的數據不可直接混用。
媒體工作流程
遠端桌面傳輸的是操作畫面,無法消除原始素材的上傳時間。分開安排大容量傳輸與互動式剪輯,通常比直接遠端操作原始素材更穩定。
上傳前統一代理編碼、解析度、影格率與檔案命名。保留原始素材與代理素材的對應清單,避免後續重新連結時只能靠人工記憶。
驗收:代理檔案可播放,時間碼、音軌與原始素材一一對應。先同步專案檔、代理素材與必要資源,再分開傳輸可延後處理的原始檔。網路中斷後應支援從未完成部分繼續傳輸,而不是重新傳送全部內容。
驗收:隨機抽查檔案大小與摘要,專案開啟後沒有離線代理素材。依節點延遲調整遠端桌面解析度、色深與影格率。時間軸編輯可使用代理畫面;精確色彩、即時音訊與逐格判斷則應先進行相容性測試。
驗收:連續操作沒有明顯輸入阻塞,關鍵音畫同步點已完成複核。使用固定預設輸出並保存編碼日誌。成片產生後,先在節點內檢查時長、影格率、音軌與檔案大小,再回傳團隊儲存空間並核對摘要。
驗收:接收端檔案摘要一致,專案封存包含預設與版本說明。終端機範例
以下是執行紀錄範例,展示 runner 接手任務、命中依賴快取、執行 xcodebuild 測試與使用 fastlane 上傳四個階段,以及每個階段應保留的識別資訊與結束狀態。
09:41:02 runner accepted job build-1842
09:41:02 checkout commit 8f31c2a · branch release
09:41:03 workspace /Users/runner/work/build-1842
09:41:04 cache key xcode-m4-lock-77d1
09:41:04 cache HIT · restored dependencies
09:41:07 toolchain Xcode selected · configuration Release
09:41:08 test xcodebuild test -scheme App -destination platform=macOS
09:42:46 test executed 128 tests · 0 failures
09:42:46 test result bundle saved
09:42:48 archive xcodebuild archive -scheme App
09:44:19 archive SUCCEEDED · App.xcarchive
09:44:20 deliver fastlane upload_artifact
09:44:37 deliver artifact uploaded · checksum verified
09:44:38 runner job completed · exit 0
09:44:38 cleanup workspace removed · cache retained
移轉路徑
移轉不是複製整個使用者目錄。先分離專案資料與可重新產生的資料,再重建工具鏈,最後接入 CI。每一步完成驗收後再進入下一步,有助於縮小故障範圍。
依程式碼、專案資源、簽署資料、快取與輸出檔案分類。程式碼優先透過版本庫同步;大檔案採用支援增量續傳的方式;快取與可重新產生的產物不列為第一批輸入。
程式碼提交一致;關鍵檔案摘要一致;專案引用路徑未指向本機舊目錄;敏感資料僅限指定帳戶讀取。
依版本清單重建 Xcode、命令列工具、套件管理器與專案依賴。將環境變數、腳本入口與建置參數納入專案文件,避免只存在個人終端機設定中。
空白快取建置成功;測試數量與本機基準一致;可產生封存結果;所有必要環境參數都有來源紀錄。
將節點註冊為 self-hosted runner,限制可執行的專案與工作目錄。先接入非發佈任務,再逐步加入封存、簽署與產物回傳,避免一次移轉整條流程。
連續三次任務結果一致;失敗任務可定位;取消後仍能繼續接單;產物上傳完成後通過大小與摘要檢查。
資料錯誤、工具鏈漂移與 CI 設定問題各有不同的修復路徑。分階段移轉可以避免將三類問題混成一次難以重現的失敗。
適用界線
雲端 Mac 提供完整的實體節點資源,但遠端連線無法改變用戶端到節點的網路路徑,也不能取代必須連接在使用者身邊的即時設備。以下需求應先進行小範圍驗證,再決定是否移轉完整流程。
需要持續連接本地擷取卡、專業音訊介面、攝影設備或其他低階硬體的流程,應先確認設備能否透過現有遠端方案使用。
先測:設備辨識、驅動程式相容性、斷線復原與資料回傳路徑。逐格色彩判斷、即時音訊處理與對輸入延遲高度敏感的操作,不應只根據一般桌面是否可用來判斷。用戶端網路抖動會直接影響體驗。
先測:往返延遲、抖動、封包遺失、目標解析度與連續操作時間。超過數百 GB 素材的首次同步時間,主要取決於上傳頻寬與來源資料位置。先測試一組具代表性的檔案,不能用短時間峰值速度估算完整移轉時間。
先測:持續上傳速度、續傳能力、摘要耗時與團隊儲存位置。如果專案尚未區分程式碼、金鑰、簽署資料、客戶資料與可重新產生的快取,應先完成分類、最小權限與備份設計,再進行移轉。
先測:權限界線、金鑰輪替、日誌去識別化與租期結束前的移出流程。先從一條工作流程開始
選擇一個固定提交、一個明確指令與一個可驗證的產物。確認資料同步、遠端連線、執行日誌與輸出回傳都符合要求後,再擴展至完整團隊流程。