從下單到建置

從下單到首次 xcodebuild

按天租用獨享實體 Mac mini,不必使用共享虛擬機。從挑選機型、取得連線資料到完成首次建置,照著以下步驟操作即可。

付款後約 15 分鐘交付;首次連線與檢查所需時間,視金鑰、專案及簽章準備情況而定。

最低租期 1 天;提供兩種 M4 機型,租期可選天、週、月或季。實際供應情況以控制台即時資訊為準。

首次建置清單01 → 04
  1. 01
    選定租期選擇機型、節點與計費週期
  2. 02
    確認交付資料取得主機位址與登入資料
  3. 03
    連線至主機上傳公鑰,使用 SSH 或 VNC
  4. 04
    提交建置確認 Xcode,再執行專案指令
每筆訂單配備一台獨享實體主機
01 / 選定租期

先確認工作負載,再選擇租期

下單時依序選擇機型、節點、租期與付款方式。單次發佈可從 1 天租期開始;若需持續執行 CI,再比較週、月、季租期。租金按所選週期一次付清,以美元計價。

M4 / 16GB / 256GB

Commit 16

適合單一 App 的 Xcode 建置、fastlane 封裝,以及初次設定 SSH、VNC 和開發工具鏈。若也要同時執行模擬器與容器,請先確認專案的實際記憶體用量。

每天 $20.5 起租用 Commit 16
M4 / 24GB / 512GB

Commit 24

適合同時執行 Xcode、模擬器與容器,或需要為 MLX 模型和建置快取預留更多空間的工作。模型檔案較大時,可在下單時查看 SSD 加購選項。

每天 $41.4 起租用 Commit 24
如何選擇節點?

可選新加坡、日本(東京)、韓國(首爾)、香港、美國東部及美國西部。建議選擇距離團隊與程式碼服務較近、且連線穩定的節點;兩種機型皆涵蓋這 6 個節點。

僅支援 USDT-TRC20,或透過 Stripe 處理的 Visa / Mastercard / Amex;實際可用的付款閘道以控制台顯示為準。

02 / 確認交付資料

取得連線資料,先確認這四個欄位

請在控制台查看交付資料。請勿將登入資料、私鑰或簽章憑證貼在支援單內容中;需要排查問題時,提供訂單編號和已遮蔽敏感資訊的錯誤輸出即可。

首次連線前須確認的交付欄位
交付欄位用途確認方式
主機位址指定 SSH 與 VNC 的連線目標。複製控制台提供的位址,並確認前後沒有多餘空格。
使用者名稱與主機位址一起組成 SSH 登入帳號。使用訂單對應的帳號,請勿猜測系統預設使用者名稱。
SSH 公鑰授權你的裝置使用金鑰登入。上傳公鑰檔案內容;私鑰請僅保存在自己的裝置上。
VNC 連線方式開啟 macOS 圖形介面。依照交付頁提供的連線方式與憑證操作,請勿將 VNC 當作 SSH 連接埠使用。
還沒有 SSH 金鑰嗎?

先在自己的電腦產生一組金鑰,再將公鑰上傳至控制台。上傳後,使用本機私鑰發起連線;請勿在遠端主機上產生用來登入該主機的唯一私鑰。

無法連線時,先判斷問題所在

先確認位址、使用者名稱與公鑰,再檢查本機網路是否能連到目標。若 TCP 連線逾時,優先檢查網路;若出現公鑰遭拒訊息,優先確認帳號與授權設定。

03 / 命令列驗證

使用 SSH 登入,執行首次建置

在本機終端機依照交付資料設定連線變數。先確認 macOS 與處理器架構,再到專案目錄查詢可用的 scheme;確認專案 scheme 與簽章設定後,才執行專案建置或封存。

vmcommit — sshM4
連線 · 在本機終端機執行,變數取自交付資料
ssh -i ~/.ssh/id_ed25519 "$VM_USER@$VM_HOST"

連線成功後,命令提示字元會切換至遠端 Mac。首次連線時,請確認主機指紋與交付資料相符。

確認 · 在遠端 Mac 執行
sw_vers -productName
uname -m
sysctl -n machdep.cpu.brand_string

預期依序會看到 macOS、arm64 和 Apple M4;實際系統版本以交付主機的輸出為準。

建置 · 進入專案目錄並選定實際使用的 scheme 後執行
xcodebuild -list
xcodebuild -scheme "$SCHEME" -destination 'generic/platform=iOS' build CODE_SIGNING_ALLOWED=NO

不簽章編譯可先用來確認專案能否建置。成功時請確認結束狀態與 BUILD SUCCEEDED;若失敗,請從第一個建置錯誤開始排查。

封裝 · 完成簽章資料設定後執行
fastlane gym --scheme "$SCHEME"

封存與匯出需要專案所需的憑證、描述檔及 fastlane 設定。指令執行完畢後,請檢查匯出結果,不要只看最後一行記錄。

這裡的 VM_USER、VM_HOST 和 SCHEME 是 shell 變數:請先使用交付資料及專案實際的 scheme 為它們指定值。若專案依賴特定 Xcode 版本,請執行 xcodebuild -version 確認版本後再切換。

04 / 圖形介面

需要使用 Xcode 介面時,再開啟 VNC

SSH 適合傳送檔案、執行建置和查看記錄;需要操作 Xcode 介面、模擬器或系統設定時,再依照交付資料連線至 VNC。兩種方式連線的都是同一台獨享實體 Mac mini。

01依照交付說明建立連線

在 VNC 用戶端輸入交付頁指定的位址和連線資料。請勿將 SSH 使用者名稱、金鑰或連接埠直接套用至 VNC 用戶端。

02先選擇適合網路的解析度

先從較低的用戶端顯示解析度開始;畫面與輸入都穩定後,再提高解析度。跨區域操作時,優先確保回應速度,不必一開始就追求最高畫質。

03圖形操作完成後,保留命令列工作流程

確保實際建置仍可透過 SSH 指令重現。如此一來,即使 VNC 工作階段中斷,建置、記錄與 CI 問題排查也不必依賴桌面畫面。

若畫面變黑,請先確認連線至正確的訂單與節點,再檢查工作階段狀態;請勿為了解決遠端畫面問題而反覆修改專案或刪除建置快取。

05 / 整合 CI

將首次手動建置變成可重複執行的工作

準備設定 GitHub Actions self-hosted runner 時,先在程式碼儲存庫的 runner 設定中產生註冊指令與短效權杖,再到這台 Mac 上執行平台當下提供的指令。請勿將權杖放進儲存庫、截圖或建置記錄。

註冊

綁定正確的儲存庫

將 runner 註冊到需要建置的儲存庫或受控組織,並設定可識別這台 macOS 主機的標籤。確認畫面顯示 runner 已上線後,再提交工作流程。

執行

先執行最小建置

工作流程先檢出程式碼,再執行與手動驗證相同的 Xcode 指令。確認成功後,再逐步加入相依性快取、測試、簽章與發佈,避免一次引入多個問題。

保護

限制可提交工作的對象

runner 可存取這台機器上的建置環境。請為可觸發工作的分支與儲存庫設定權限界線,妥善管理簽章資料,並在租期結束前移除不再使用的 runner 註冊。

最小化工作流程應驗證哪些項目?

先確認選取了正確的 runner、程式碼可以檢出,且xcodebuild -version 顯示的版本與手動檢查一致,再執行已驗證的 scheme。工作流程中的 scheme、目標平台與簽章開關必須符合專案需求,不能直接將範例指令當作所有專案的封裝設定。

06 / 租期結束

租期到期前,先處理工作與資料

租期從交付時間開始計算。請在到期前完成備份、移除 runner 並決定是否續租;不要將唯一一份原始碼、憑證或建置成品留在遠端機器上。

01匯出需要保留的內容

確認原始碼已提交,取回封存檔、記錄、模型檔案與設定,並在自己的儲存空間確認檔案可以開啟。請依照團隊既有的安全流程保管簽章資料。

02決定續租或升級方案

若建置尚未完成,請在控制台查看續租選項;若並行工作受記憶體或磁碟空間限制,請比較 Commit 16 與 Commit 24 的規格,再依實際需求調整。

03清除外部工作關聯

確認 CI 佇列中是否仍有工作,以及 runner 是否仍綁定儲存庫。到期後的資料處理方式以服務條款及控制台顯示的規則為準,請在租期內完成備份。

繼續閱讀

完成首次建置後,依照需求繼續查閱

需要確認連線方式、建置指令或計費規則時,請先查閱文件。若想全面規劃遠端開發環境,可到部落格搜尋「遠端 Mac 開發環境建置」;內容以部落格目前已發布的文章為準。

準備好開始第一天

專案準備好了,就給它一台 Mac。

從 1 天租期開始,選擇節點與機型;交付後依照這份清單完成首次建置。