連線節拍器
不要將同一組憑證同時交給個人工作階段與自動化工作。先建立可撤銷的專用帳號,再接入 Runner。
先判斷工作需要命令列、圖形桌面或無人值守執行,再依對應路徑核驗憑證、工具鏈與權限。VMRunner 提供獨享 Apple Silicon 實體節點,而非虛擬機;連線資訊以控制台內已交付的訂單為準。
不要將同一組憑證同時交給個人工作階段與自動化工作。先建立可撤銷的專用帳號,再接入 Runner。
命令列適合高頻率、可腳本化的操作;圖形工作階段留給必須互動的工具;持續性工作交給獨立 Runner。完成分流後,權限邊界更清楚,連線問題也更容易定位。
適合 Git 操作、安裝相依套件、檢查日誌、執行腳本與建置工作。頻寬用量較低,連線中斷後也更容易恢復。
適合 Xcode 介面除錯、檢查模擬器、處理音訊與影片專案,以及必須觀察視窗狀態的工作。解析度越高,對本機網路的要求也越高。
適合測試、封存、簽署與回傳產物。Runner 使用專用帳號執行,環境變數依工作注入,不與個人桌面工作階段共用憑證。
排查遠端連線時,最常見的時間浪費不是複雜故障,而是節點位址、帳號用途或本機網路基準不明確。首次連線前完成以下記錄,之後才能判斷變化發生在哪一層。
訂單識別碼、節點城市、節點位址、帳號用途、主機指紋核驗結果與首次成功連線時間。私密金鑰只保存在受控裝置,不要寫入工單、聊天記錄或程式碼儲存庫。
在控制台檢查訂單狀態與連線資訊。交付完成前,不要依據舊位址或他人記錄嘗試連線。
個人操作、自動化工作與臨時協作分別使用可撤銷的帳號或金鑰,不共用同一組長期憑證。
記錄有線與無線網路下的延遲、封包遺失與穩定性。圖形工作階段卡頓時,先與這份基準比較。
開發帳號只取得工作目錄所需的權限;Runner 帳號只存取建置目錄、快取與必要的簽署資源。
首次連線的目標不是儘快略過警告,而是確認目前位址確實對應已交付的節點。完成指紋核驗後,再建立別名、保持連線設定與最小權限帳號。
ssh-keyscan -t ed25519 NODE_ADDRESS
ssh USER@NODE_ADDRESS
比對首次讀取的指紋與控制台中的交付資訊。位址變更或系統重新安裝後若指紋改變,先確認原因,不要直接清除本機記錄後繼續連線。
ssh-keygen -t ed25519 -a 64
ssh-copy-id USER@NODE_ADDRESS
為 VMRunner 節點單獨產生金鑰。私密金鑰設定本機密語,不要提交至儲存庫,也不要與 Runner 的部署金鑰混用。
Host vmrunner-build
HostName NODE_ADDRESS
User ACCOUNT_NAME
IdentityFile ~/.ssh/vmrunner_ed25519
ServerAliveInterval 30
ServerAliveCountMax 3
別名可減少抄寫位址時的錯誤。保持連線參數只負責偵測失聯,不會讓已中斷的程序自動恢復;長時間工作應交給工作管理器或 CI Runner。
不要將管理員權限設為日常預設。相依套件安裝、系統設定與管線執行應區分帳號;完成臨時提權後立即恢復一般權限,並記錄變更內容。
遠端桌面適合必須查看 Xcode、模擬器或時間軸介面的操作,不應取代所有背景工作。先以較低解析度建立穩定工作階段,再逐步提高畫質。
先選擇能完整顯示工具視窗的最低設定,觀察輸入延遲與畫面更新。
網路波動時降低視覺效果,將頻寬優先留給操作回饋與檔案同步。
先在無風險的文字視窗測試常用快速鍵,再進行簽署、刪除或發佈操作。
中斷後先確認舊工作階段狀態,避免重複啟動工具並佔用同一工作目錄。
不要一次搬移所有程式碼、憑證、快取與管線。每個步驟都保留可驗證的輸出,上一階段通過後再進入下一階段。
先同步儲存庫、鎖定檔、必要素材與建置腳本。大型快取與可重新下載的相依套件不列入首輪遷移。
核對 Xcode、命令列工具、套件管理器、憑證與描述檔。先執行小型測試目標,不要直接執行完整發佈管線。
建立專用 Runner 帳號,限制環境變數的讀取範圍,執行一次可復原的測試工作並回傳產物。
同一份程式碼在兩台 Mac 上的表現不同,通常源自工具版本、路徑、快取或權限差異。以下項目應在首次正式建置前逐項記錄。
xcodebuild -version
版本與專案基準一致
xcode-select -p
路徑指向目標 Xcode
Runner 不應重複使用開發者的桌面帳號。獨立身分有助於撤銷權限、清理快取、定位檔案擁有者問題,也能減少個人工作階段對管線的干擾。
查看 CI 疑難排解帳號只存取儲存庫工作區、相依套件快取、建置目錄與必要的簽署資源,不授予日常管理員權限。
使用管線平台提供的註冊流程綁定目前節點,為 Runner 設定可識別晶片、系統與工作類型的標籤。
依儲存庫、環境與工作範圍設定變數。在日誌中隱藏敏感值,不要將完整設定檔直接輸出至建置記錄。
從相依套件少、耗時短的目標開始,核對結束碼、測試結果、快取命中與工作目錄清理狀況。
記錄產物名稱、產生提交、校驗和與儲存位置。確認回傳成功後,再擴展至完整管線。
正式投入使用前,再次檢查憑證、共享範圍、備份與復原資訊。目標是確保任何帳號、工作階段或自動化工作都能單獨撤銷。
首次驗證完成後更換初始密碼或金鑰,刪除不再需要的臨時授權,並記錄憑證用途與負責人。
每位使用者與每個 Runner 都使用獨立身分。權限變更時只撤銷對應帳號,不影響其他工作負載。
程式碼以遠端儲存庫為主,簽署資料、專案素材與重要產物依團隊策略備份,並定期驗證復原流程。
鎖定並關閉不再使用的圖形工作階段,停止臨時服務,檢查背景工作是否仍有明確負責人。
記錄訂單識別碼、節點城市、帳號用途、工具版本與最近一次可用建置,以便支援人員快速定位問題。
先完成憑證核驗、工具版本記錄與測試產物回傳,再將正式專案遷移至獨享 Apple Silicon 實體節點。