核對交付紀錄
節點、設定、系統版本、租期與存取憑證必須與訂單確認資訊一致。
建立第一個工作階段
先驗證命令列連線,再依工作需求建立圖形工作階段並測試斷線復原。
重現開發環境
鎖定 Xcode、相依工具與工作目錄,不要直接覆蓋舊機器的所有檔案。
提交實際建置
使用實際儲存庫執行一次封存或測試工作,記錄耗時、日誌與產物驗證結果。
收到設備資訊後,先核對訂單與實體節點,再完成連線、工具鏈重現與 CI 執行器註冊。每個步驟都提供檢查指令、完成標準,以及發生錯誤時需要保留的證據。
節點、設定、系統版本、租期與存取憑證必須與訂單確認資訊一致。
先驗證命令列連線,再依工作需求建立圖形工作階段並測試斷線復原。
鎖定 Xcode、相依工具與工作目錄,不要直接覆蓋舊機器的所有檔案。
使用實際儲存庫執行一次封存或測試工作,記錄耗時、日誌與產物驗證結果。
資訊尚未核對前,不要開始遷移環境。先登入控制台,逐項比對訂單紀錄與設備詳細資訊;若欄位不一致,保留頁面資訊並提交工單。
確認節點為新加坡、日本東京、韓國首爾、香港或美國東部之一。記錄節點代碼,並從主要辦公網路測試連線路徑。
目錄包含兩種方案,收到資訊後應逐欄核對晶片、記憶體與儲存空間。
核對系統版本、主機名稱、連線位址、連接埠與臨時憑證。首次登入後立即依團隊規範輪換憑證。
按日、週、月或季租用時,都應在開始前確定資料匯出時間與工作停止點,避免將清理工作留到最後。
命令列適合基礎驗收與自動化,圖形工作階段適合 Xcode、模擬器及需要視覺介面的操作。兩種方式應分別驗證,不要把其中一種成功視為整體連線正常。
從控制台複製主機位址、連接埠與使用者名稱,核對字元與大小寫,不要從舊工單沿用過期資訊。
首次連線時比對交付資訊。指紋變更時先停止連線並確認原因,不要直接刪除本機紀錄後重試。
確認目前使用者、主機名稱、系統版本、磁碟與 Xcode 路徑,不要立即安裝或刪除軟體。
主動中斷後重新連線,確認工作階段復原方式、長時間工作託管策略與日誌寫入目錄。
先使用較低解析度與色彩品質確認工作階段穩定,再逐步提高設定,避免將畫面卡頓誤判為設備效能問題。
禁止在共用螢幕、螢幕錄影或未受控剪貼簿中暴露密碼、私密金鑰與憑證口令。
離開設備前鎖定圖形工作階段。多人協作時明確指定同一時間的操作人員,避免並行修改環境。
斷線重連後檢查前景應用程式、建置程序與磁碟寫入是否仍在執行,不要根據畫面停頓判斷工作已失敗。
以下指令涵蓋晶片、記憶體、磁碟、系統版本、網路與開發工具路徑。執行後保存輸出,但提交工單前應移除使用者名稱、內部儲存庫位址及其他敏感欄位。
printf '\n== CHIP ==\n'
system_profiler SPHardwareDataType | grep -E "Chip|Memory"
printf '\n== DISK ==\n'
diskutil info / | grep -E "Device Node|File System|Disk Size|Free Space"
printf '\n== SYSTEM ==\n'
sw_vers
uname -m
printf '\n== NETWORK ==\n'
route -n get default | grep interface
ping -c 5 1.1.1.1
printf '\n== XCODE ==\n'
xcodebuild -version
xcode-select -p
swift --version
printf '\n== TOOL PATHS ==\n'
command -v git
command -v ruby
command -v fastlane
環境一致性來自明確版本與可重複步驟,而不是複製舊機器的整個使用者目錄。簽署材料應限量匯入,並在租期結束前完成清理。
執行 xcodebuild -version,記錄主要版本與建置號;專案固定版本時,將要求寫入儲存庫文件。
執行 xcode-select -p,必要時使用團隊核准的路徑切換,不要在工作中途臨時升級。
僅匯入目前專案需要的憑證,使用受控傳輸方式,並限制鑰匙圈存取範圍。
可識別目標簽署身分核對 App ID、團隊資訊、功能與有效狀態,避免混用其他專案遺留檔案。
封存目標符合專案設定在建置腳本中於最短必要時間內解鎖,工作結束後恢復鎖定,不要將口令寫入儲存庫或一般日誌。
非互動式建置可讀取所需項目先執行相依解析、專案清單與簽署設定檢查,再開始完整封存。
失敗發生在正式建置前每次只變更一個變數,並保留回復點。如此一來發生建置差異時,便能確認問題來自資料、相依環境或 CI 註冊。
註冊後至少驗證一次冷快取工作、一次熱快取工作與一次失敗重試。工作目錄、快取與並行策略必須由流水線明確管理。
| 平台 | 註冊檢查 | 工作目錄 | 快取策略 | 並行建議 |
|---|---|---|---|---|
| GitHub Actions | 確認自託管 Runner 標籤與目標儲存庫或組織範圍 | 每個工作使用獨立工作區,結束後清理暫存檔案 | 快取鍵包含鎖定檔摘要、Xcode 與架構資訊 | 先驗證單一工作,再依記憶體與磁碟壓力提高並行數 |
| GitLab CI | 核對 Runner 標籤、受保護分支權限與執行器狀態 | 避免多個專案共用可寫入目錄與同名產物路徑 | 依專案、分支與相依摘要劃分快取範圍 | 為封存、測試與輕量檢查設定不同佇列 |
| Jenkins | 確認節點標籤、遠端根目錄與憑證作用域 | 流水線結束後清理 workspace,但保留必要日誌 | 分開管理相依快取與建置產物 | 限制重型封存工作同時佔用同一設備 |
| 自建 Runner | 記錄服務啟動方式、執行使用者與工作領取條件 | 依工作識別建立目錄,退出時執行確定性清理 | 明確指定快取擁有者、容量上限與失效條件 | 使用佇列控制資源,不要依賴腳本碰運氣搶鎖 |
執行器在線上、標籤相符、執行使用者正確,且只能讀取獲授權的儲存庫與憑證。
同一提交在冷快取與熱快取條件下都能產生一致產物,失敗時保留明確結束代碼。
暫存簽署檔案、衍生資料與建置中間檔有明確清理規則,不依賴人工逐項刪除。
依 CPU、記憶體與 SSD 壓力設定佇列,避免多個封存工作互相爭用資源。
效能問題至少記錄發生時間、節點、工作提交版本、重現步驟與對照結果。只描述「很慢」無法區分資源壓力、網路路徑與圖形工作階段問題。
記錄高使用率程序、執行緒數量與工作階段。比較單一工作與並行工作,檢查是否存在重複建置、失控測試或背景索引。
記錄峰值記憶體、壓縮記憶體與交換變化。若工作只在並行時失敗,應先降低並行數再比較,不要立即歸因於網路。
檢查剩餘空間、衍生資料、相依快取與歷史產物。清理前先記錄目錄大小,避免刪除後失去問題證據。
使用固定本地網路進行連續測試,並與備用網路對照。儲存庫拉取緩慢時,還要區分節點路徑與相依服務回應。
降低解析度與色彩品質後重新測試,同時透過命令列觀察工作是否持續執行。記錄重新連線後的前景與背景狀態。
憑證、簽署材料、建置產物與快取都有明確擁有者。租期結束前依序匯出、驗證、移除與複查,不要將清理工作交給臨時記憶。
已有訂單的問題請登入控制台提交工單。無法登入時可寄送電子郵件至 support@deploymac.com,提交前必須移除密碼、私密金鑰、憑證口令與其他敏感憑證。
填寫控制台中可用於定位訂單的識別碼
新加坡、日本東京、韓國首爾、香港或美國東部
註明時區,並提供首次發生與最近一次重現時間
基本方案或高階方案,以及額外儲存空間資訊
從乾淨狀態開始,依實際執行順序逐項列出
附上完整指令、結束代碼與去識別化輸出,不要只附截圖
說明正常情況下應出現的狀態、檔案或回傳值
說明差異、重現次數,以及是否影響所有工作
列出重試、重連、降低並行數或清除快取等動作及結果
基本方案適合輕量建置與日常開發;高階方案適合高記憶體實驗、多專案並行與更繁重的建置工作。兩種方案均為獨享實體機,並非虛擬機。