先用模擬器執行回歸測試
安裝專案所需的模擬器執行環境,固定目標裝置與系統版本。先執行 xcrun simctl list devices available 查看可用的目標裝置,再將實際裝置識別碼寫入測試設定。
夜間工作會保存 .xcresult、截圖與記錄。發生失敗時,先釐清是產品缺陷、測試指令碼不穩定,還是環境問題;不要無限重試來掩蓋原因。
為開發流程添一台獨享 Apple Silicon 實體節點。非虛擬機,可透過 SSH 與 macOS 圖形介面使用;從一次打包、常駐 CI/CD 流程,到統一記憶體上的推論實驗都適用。
三種機型、五個節點。Shell M4 每日 $21.8 起,先用自己的專案驗證。
平常在 Windows 或 Linux 上寫程式,需要發佈時,再將程式碼同步到雲端 Mac,透過 SSH 執行建置。需要檢查專案設定、模擬器或簽署設定時,再切換至 macOS 圖形介面,不必整套搬移日常開發環境。
Shell M4 適合先驗證單一專案的編譯與封存流程。16GB 統一記憶體是否足夠,取決於專案規模、模擬器數量與同時執行的工具;先記錄記憶體使用高峰與乾淨建置所需時間,再決定是否升級規格。
將獨享實體節點註冊為 GitLab 或 GitHub 的 self-hosted runner,讓提交、測試、封存與建置產物回傳都在同一條 CI/CD 流程中完成。節點全年 365 天持續運作;團隊可依專案設定工作排程、程序監控與建置清理。
建議選用 24GB 統一記憶體與 512GB SSD 的 Shell M4 Plus,為相依套件解析、編譯與測試預留空間,也能存放程式碼、相依套件快取與建置產物。先將並行數設為 1,觀察 CPU、記憶體壓力與磁碟用量成長後再調高;邏輯並行數不等於實際處理量。
使用 fastlane 組織工作流程、XCUITest 執行 UI 測試,並保留結果套件中的失敗情境。先固定測試環境,再擴大裝置涵蓋範圍。
安裝專案所需的模擬器執行環境,固定目標裝置與系統版本。先執行 xcrun simctl list devices available 查看可用的目標裝置,再將實際裝置識別碼寫入測試設定。
夜間工作會保存 .xcresult、截圖與記錄。發生失敗時,先釐清是產品缺陷、測試指令碼不穩定,還是環境問題;不要無限重試來掩蓋原因。
租用實體 Mac 不代表也租到 iPhone 或 iPad。本服務方案不含 iOS 裝置,也不預設提供裝置連線;下單前請先說明裝置的所有權、連線方式與測試工具。
你電腦上的 USB 裝置不會因為 SSH 登入就出現在遠端。測試方案需要可連線的裝置、配對與信任設定,以及相應的簽署權限;請先透過電子郵件確認可行性。
在專案已設定好 fastlane 測試 lane 後執行。結果目錄依工作編號區分,測試結束後回傳,不要長期留在節點上。
bundle exec fastlane scan \
--scheme App \
--result_bundle true \
--output_directory build/test-results
配備 M4 Pro 晶片、64GB 統一記憶體與 2TB SSD 的 Shell M4 Pro,適合使用 MLX 或 llama.cpp 驗證模型載入、量化版本、上下文長度與 Metal 推論流程。CPU 與 GPU 共用統一記憶體,但不代表所有記憶體都能用來存放模型權重。
選擇模型時先估算權重所需空間,再預留執行餘裕。以 4-bit 權重粗估,8B 參數約需 4GB,32B 約需 16GB;這只是參數量乘以每個參數 0.5 位元組,未包含量化中繼資料、KV cache、執行環境與系統用量。不能據此保證特定模型一定能載入。
不要直接複製整個使用者目錄。先遷移專案,再還原工具鏈,最後切換工作流程。以下時間是人工操作的規劃估算,不代表開通所需時間;下載、傳輸與編譯時間另計。
操作預估:10–30 分鐘,不含傳輸時間
首次遷移建議先複製儲存庫;尚未提交的資源再分開增量同步。請在本機執行下方指令,cloud-mac 是你已設定的 SSH 別名,儲存庫網址則來自專案自己的環境變數。
ssh cloud-mac 'mkdir -p ~/work'
rsync -av --exclude '.git' \
./App/ cloud-mac:~/work/App/
ssh cloud-mac
git clone "$REPOSITORY_URL" ~/work/repo
驗收標準:提交版本一致,必要資源齊全;快取與可重新建立的建置目錄不必遷移。
操作預估:20–60 分鐘,不含下載時間
在遠端確認 Xcode 路徑與 SDK。已有 Brewfile 時,使用 Homebrew 還原工具;透過團隊核准的安全管道傳送憑證與描述檔,不要將其寫入儲存庫或工作記錄。
xcode-select -p
xcodebuild -version
xcodebuild -showsdks
brew bundle --file Brewfile
security list-keychains -d user
驗收標準:相依套件版本一致,目標 SDK 可用;以實際執行工作的使用者身分完成一次簽署封存。
操作預估:15–45 分鐘,不含建置時間
使用組織產生的註冊資訊加入 Runner。以下是 GitLab 指令;GitHub Runner 請使用組織提供的設定指令碼,並在節點上確認服務狀態。僅在可信任的工作階段中輸入權杖。
gitlab-runner register
gitlab-runner install
gitlab-runner start
gitlab-runner verify
驗收標準:測試分支成功派送至新標籤,且可下載建置產物;確認無誤後再切換正式 CI/CD 流程,並保留舊的執行端以便復原。
遷移成功的標準不只是「能透過 SSH 登入」,而是同一個提交能完成相依套件安裝、建置、測試與產物回傳。任何一步失敗,先保留記錄,再繼續下一步。
團隊成員可以分時使用同一台節點,但 CPU、GPU、記憶體與磁碟仍由大家共用。多個系統使用者不等於虛擬機隔離;發佈憑證與敏感專案需要更嚴謹的權限設計。
每位成員使用個別的 macOS 使用者帳號與 SSH 公鑰,避免共用私鑰。CI 使用專用帳號;成員離開團隊時,移除其金鑰並檢查相關權杖。
排程採用統一時區,交接記錄註明提交版本、工作目錄、正在執行的程序與下一項工作。長時間工作交由 Runner 或受管理的工作階段處理,不要仰賴桌面連線持續開啟。
依執行使用者確認鑰匙圈權限,避免將解鎖密碼寫入 shell 歷史記錄。交接前確認沒有尚未處理的互動式簽署提示,也不要在他人的發佈工作執行途中結束使用者工作階段。
將程式碼推回儲存庫、將建置產物傳回團隊儲存空間,並另外安全保管憑證。到期前完成備份,不要將節點當作唯一的存檔位置;續租與到期資訊以控制台顯示為準。
提供五個節點:新加坡、日本(東京)、韓國(首爾)、香港、美國東部。依主要使用者的連線路徑,以及程式碼與建置產物的儲存位置選擇節點,並先測試實際連線;可用性以控制台即時顯示為準。
單一專案建置可從 Shell M4 起步;團隊 CI/CD 可選 Shell M4 Plus;大記憶體推論實驗則適合 Shell M4 Pro。前往下單頁後,確認租用週期、節點與加購項目。
僅支援 USDT-TRC20 與 Visa / Mastercard / Amex(透過 Stripe),統一以美元結算。實際可用的付款管道以後端回傳資訊為準。