適用對象:在亞太與美國運作遠端 Mac Runner,卻仍見日間佇列閒置、夜間積壓爆量,且日租與月租帳單與利用率脫鉤的團隊。預期成果:把 UTC 視窗、集區標籤、並行上限與租賃攤提寫進一張可稽核的表,並與節點選型、Runner 並行、產物指引互相連結。架構:六項根因、六地矩陣、YAML 草稿、提醒區塊、六步 Runbook、三條 KPI、收尾、FAQ。
若在新加坡、東京、首爾、香港、維吉尼亞或舊金山灣區部署自架 Runner,卻只用總部單一時區的 cron 驅動重工作業,典型結果是當地上班時間容量閒置,另一個地區下班後又出現合併洪峰。根因很少是「Mac 不夠」,而是觸發時鐘與協作節奏錯位,加上日曆計費下的租賃利用率偏低。以下列出六種常見平台錯誤。
維運上請以 UTC 疊圖佇列深度與 CPU,每週標出結構性空檔,再在加核心前調整觸發與合併策略。
max-parallel 與每個儲存庫並行上限時,Git fetch 與映像庫上傳會與 Git/Registry Runbook 的重試疊加,形成「CPU 不滿但工作全紅」的假容量危機。要把 Apple Silicon 遠端變成可稽核的二十四小時容量表,請把時區視窗、Runner 集區與租賃層級綁在同一張變更單上;這是補強而非取代 M4 與 M4 Pro 的 CPU 選型討論。
視窗以 UTC 為例,請換成實際衝刺時區。若主儲存庫在美東,請把編譯/單元測試靠近該區,把Simulator 比重高的工作放在開發者聚集區,減少跨太平洋產物往返。
| 區域 | UTC 偏移(例) | 典型接力角色 | 最適工作 | 主要風險 |
|---|---|---|---|---|
| 新加坡 | +8 | APAC 上午建置;歐非交接緩衝 | 編譯、單元、Lint、快取預熱 | 與美尖峰重疊時限制並行;留意 Git 出口競爭 |
| 日本 | +9 | 對齊 JP 產品團隊的深夜批次 | 完整迴歸、升級前檢查 | JP/美尖峰碰撞時隔離簽章集區 |
| 南韓 | +9 | 落地規則不同時與 JP 分開標籤集區 | 並行單元、快取預熱、KR 合規建置 | 勿在共用標籤混用資料落地政策 |
| 香港 | +8 | 大灣區流程橋接 | 中並行建置、面向本土最佳化出口路徑 | 若與主 Git 區不一致,需定義產物 SLA |
| 美東(維吉尼亞) | −5/−4(DST) | 常與主要 Git 託管對齊 | 高頻 PR、合併佇列、上傳 | 定義 APAC 夜→美日的快取鍵交接 |
| 美西(灣區) | −8/−7(DST) | 美西下班前互動除錯 | Simulator、螢幕擷取、設計師配對 | VNC 頻寬成本;與純 SSH 批次集區分離 |
在內部 IaC 或 Runner 註冊採用此模式,強制寫明地理與時間意圖,避免默默吞掉一切的預設集區。並行與祕密隔離請與 自架 Runner 檢查清單一起審查。
jobs:
compile_apac_night:
runs-on: [self-hosted, region-sg, pool-batch, window-utc18-utc06]
steps:
- run: echo "APAC 傍晚到美國早晨交接時段的重編譯"
ui_us_west_day:
runs-on: [self-hosted, region-usw, pool-interactive, window-utc16-utc01]
steps:
- run: echo "Simulator/VNC 比重高;勿搶批次並行"
# 規則:window-* 與 region-* 須與 cron 更新同一變更單出貨
提醒:接力不代表可把簽章身分在未稽核的夜間集區漂移。signing/notary 標籤僅限白名單主機。
假設你已讀 多地區租賃指南 以定基線硬體。若 Runner 標籤尚未拆分,請先回到 Runner 檢查清單。
batch(僅 SSH、較高並行)、interactive(Simulator/VNC、低上限)、signing(白名單、低並行)並寫明禁止事項。這些指標與網路重試、佇列深度並列,可把「接力是否有效」變成可操作的訊號。
維運經驗(非實驗室基準):在同一場審查共同撰寫時區視窗、集區標籤與並行上限的團隊,常能縮短明顯閒時,並把混亂尖峰轉成可用短租對沖的尖峰,與 CapEx→OpEx 轉移中時間納入容量模型一致。
若主儲存庫區域與開發者密度長期分歧,接力方案必須與產物近接與資料落地同席審查;否則省下的 CPU 分鐘會被跨洋同步吃掉。
沒有明確 window-* 標籤、並行合約與下架步驟,團隊會退回「誰醒著誰跑」:尖峰與閒時仍在,簽章面卻擴大。生產級 Apple Silicon CI 需要專用裸金屬、多地區選擇、與時區政策並列的基線+尖峰租賃文件化。
口頭接力很難滿足可稽核的金鑰邊界與可預期的出口流量。若必須把 Runner 靠近主 Git 區,又要在亞太與北美之間彈性調度容量,具透明多地區節點與租賃選項的專業 Mac 雲通常比輪換不明主機更穩。MACCOME 在新加坡、日本、韓國、香港、美東、美西提供 Mac mini M4/M4 Pro;先以公開價格頁對齊前提,再把 Runner 標籤映射到接力表。
試點:短租兩台——一台近主儲存庫區、一台近開發者密度——執行本六步回顧兩次,再決定月/季層級與是否需要 2TB。
FAQ
與多地區節點租賃成本指南如何對應?
節點指南說明硬體放哪與租賃層級怎麼選;本文說明如何把同一批 Runner 排滿二十四小時、讓佇列忙碌並在尖峰借用日租。請在同一場容量審查中雙向連結。公開價格:Mac mini 雲端租賃價格。
接力是否只適用 GitHub 託管 Runner?
熱力圖思維可沿用,但租賃攤提主要適用自架或專用裸金屬。共享託管 Runner 請聚焦合併政策與快取鍵。
Simulator 工作是否應使用夜間批次池?
否。Simulator 與 VNC 應留在低並行互動集區;否則頻寬與 GPU 競爭會擴散到整個機群。