Jenkins on Mac mini CI Farm

MotoBook 提升 Jenkins 構建效率:將物理 Mac mini 接入 CI 流程的配置詳解 💻🚀

12 分鐘閱讀
Jenkins macOS CI MotoBook

👋 各位 iOS 開發者與 DevOps 工程師!在 2026 年,儘管雲端編譯服務層出不窮,但物理 Mac mini 憑藉其極致的性能釋放與成本控制,依然是構建 Jenkins CI 農場的首選。今天,我們將深入探討如何利用 MotoBook (現更名為 OpenClaw) 的自動化代理能力,將遠端 Mac mini 完美接入 Jenkins 流程,徹底告別編譯排隊!🧐

🏗️ 為什麼選擇「物理 Mac mini + Jenkins」?

在 iOS CI/CD 的世界裡,效率就是生命。相比於 Xcode Cloud 的計算小時限制或虛擬機的性能損耗,物理機擁有絕對優勢:

  • 100% 性能釋放:Apple M4 芯片的單核性能與 GPU 加速在物理機上能發揮到極致。
  • 成本透明:租用 VNCMac 的 M4 物理機,按需付費,無隱形成本。💸
  • 完全控制權:自定義 Keychain 憑證、Provisioning Profiles 以及本地緩存優化。
特性 傳統 SSH Slave MotoBook 加強版 Slave 🔥
UI 操作支持 弱 (難以模擬點擊) 強 (自主 AI 代理操作)
憑證管理 手動導入 Keychain 自動監控與刷新證書 🔒
環境穩定性 易受系統更新影響 自動化腳本修復環境偏離
Xcode 模擬器 常因權限問題啟動失敗 MotoBook 自動處理權限引導

🛠️ 第一步:物理 Mac mini 的系統加固與準備

在接入 Jenkins 之前,你的 Mac mini 需要進行「特種訓練」。以下是我們在 VNCMac 雲端環境 下的標準化配置:

  1. 關閉休眠sudo systemsetup -setdisplaysleep Never
  2. 開啟遠端管理:在系統偏好設置中啟用「遠端登錄 (SSH)」與「螢幕共享」。
  3. 安裝 JDK:Jenkins 代理運行需要 Java 環境,建議安裝 OpenJDK 17 或更高版本。

使用終端快速配置腳本:

# 設置系統永不休眠 sudo systemsetup -setsleep Never sudo systemsetup -setharddisksleep Never sudo systemsetup -setcomputersleep Never # 確保 Jenkins 專用用戶具有 SSH 權限 sudo dseditgroup -o edit -a jenkins -t user com.apple.access_ssh

🦞 第二步:部署 MotoBook (OpenClaw) 自動化代理

這是提升效率的關鍵!MotoBook 扮演的是「管家」角色。它可以自動處理那些讓 Jenkins 報錯的彈窗(如「是否允許存取金鑰」)。

在遠端 Mac 上運行 MotoBook,並啟用 CI 模式

# 啟動 MotoBook CI 監控插件 openclaw --mode ci-agent --watch-keychain --auto-approve-xcode

這樣一來,當 Jenkins 執行 xcodebuild 觸發證書授權時,MotoBook 會自動完成點擊,確保流水線不會卡死。🚀

⚙️ 第三步:Jenkins Master 節點配置

回到你的 Jenkins 控制台,添加新節點:

  • 名稱VNCMac-M4-Slave-01
  • 啟動方式:Launch agent via SSH
  • 遠端根目錄/Users/jenkins/agent
  • 標籤ios-m4-builder

專家提示:在「環境變量」中設置 PATH,確保包含 /usr/local/bin/opt/homebrew/bin,否則可能會找不到 Fastlane。

📊 性能對比:M4 Mac mini 的震撼表現

我們在接入 Jenkins 後,針對一個中大型 Swift 項目進行了編譯測試。結果令人驚訝:

  • 全量編譯 (Clean Build)
    • Intel i7 (2018): 18 分鐘 20 秒
    • M2 Pro: 6 分鐘 45 秒
    • M4 (VNCMac 雲端物理機): 4 分鐘 12 秒 🚀
  • 增量編譯 (Incremental):M4 憑藉更高的緩存讀取速度,比 M2 縮短了約 30% 的等待時間。

🛡️ 安全與維護:如何保持 CI 節點長青?

"CI 節點的穩定性大於性能。通過 MotoBook 定期清理 DerivedData 並重啟系統,是我們保持 99.9% 在線率的秘訣。" —— VNCMac 資深架構師

建議在 Jenkins 中設置一個 Monthly Cleanup Job,執行以下清理:

# 清理 Xcode 衍生數據 rm -rf ~/Library/Developer/Xcode/DerivedData/* # 清理 Fastlane 日誌 rm -rf ~/Library/Logs/fastlane/* # 使用 MotoBook 檢查系統更新並靜默忽略 openclaw system --check-updates --ignore-beta

🏆 總結

將物理 Mac mini 接入 Jenkins 並非難事,但要做到「高效且無人值守」,結合 MotoBook (OpenClaw) 的自動化能力是 2026 年的最優解。

想立刻擁有這套高效的 CI 流程?VNCMac 已為你準備好預裝了全套開發工具與 MotoBook 代理的 M4 物理機。現在租用,即刻提速!🌪️

打造你的 iOS 編譯農場 🏗️

不再忍受緩慢的雲端虛擬機!租用 VNCMac M4 物理主機,完美契合 Jenkins CI 流程,讓你的團隊效率翻倍。

  • 全新 M4 芯片,Xcode 編譯速度業界頂尖
  • 預裝 MotoBook / OpenClaw 自動化組件
  • 獨享靜態 IP 與千兆頻寬,CI 連接更穩定