2026 OpenClaw 租用 Mac Mini 實戰 對接 GitLab CI Scheduled Pipeline 觸發夜間巡檢與晨間摘要

約 8 分鐘

💻 在租用 Mac MiniOpenClaw宜以 GitLab Scheduled Pipeline承接夜間巡檢晨間摘要,取得可稽核觸發與變數隔離。本文含可複現 curl、檢查點、權限矩陣與 Webhook/權杖最小權限、重試與日誌歸檔。延伸:主備與配額降級分區與 launchd七乘二十四矩陣

痛點拆解

  1. 權杖過寬:個人存取權杖範圍過大,離職或外洩時攻擊面擴大。
  2. 觸發不可稽核:本機隨意排程缺乏流水線識別,失敗難與變更紀錄對齊。
  3. 日誌分散:作業輸出未進成品,晨間復盤缺少與 OpenClaw 端同一時間戳之對照。

觸發方式與最小權限決策矩陣

優先專案觸發權杖;須呼叫通用 API 時再用極窄個人存取權杖並設到期日。

方式 適用情境 權限建議 主要風險
觸發權杖固定分支夜間巡檢僅流水線觸發外洩後可被他人啟動流水線
入站 Webhook外部系統回呼 GitLab秘密權杖校驗本文重放須搭配冪等設計
個人存取權杖多專案編排讀寫範圍最小集合面寬須輪替與稽核

落地七步(每步附檢查點)

  1. 定契約RUN_MODEnightly_auditmorning_digest檢查點:合併請求附變數表。
  2. 觸發權杖:專案設定建立並綁預設分支。檢查點:唯讀帳呼叫應拒絕
  3. 排程:Scheduled Pipeline 填 Cron,時區對齊業務。檢查點:下次觸發與本地鐘差一分鐘內。
  4. Mac 試跑:驗出口與白名單。檢查點二零一且列表見新流水線。
  5. OpenClawcurl 附唯讀稽核標頭。檢查點:失敗非零退出、通知有摘要。
  6. 重試與歸檔:見下節。檢查點:斷網一次後自動重試成功或明確錯誤。
  7. 週復盤七乘二十四是否擠互動;不足則升配或挪窗。

檢查點指令一:手動觸發流水線(請替換網域、專案識別與權杖)

curl -fsS --retry 4 --retry-delay 15 --retry-all-errors --connect-timeout 10 --max-time 120 \
  -F "token=${GITLAB_TRIGGER_TOKEN}" -F "ref=main" \
  -F "variables[RUN_MODE]=nightly_audit" \
  "https://gitlab.example.com/api/v4/projects/${CI_PROJECT_ID}/trigger/pipeline"

檢查點指令二:自租用 Mac 探測 OpenClaw 健康(權杖限唯讀)

curl -fsS --retry 3 --retry-delay 5 --max-time 30 \
  -H "Authorization: Bearer ${OPENCLAW_AUDIT_TOKEN}" \
  "${OPENCLAW_BASE_URL%/}/healthz"

流水線片段:重試、逾時與日誌歸檔

default 開作業重試;artifactslogs/ 供晨間下載。

default:
  retry:
    max: 2
    when:
      - runner_system_failure
      - stuck_or_timeout_failure
openclaw_nightly:
  stage: audit
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUN_MODE == "nightly_audit"'
  script:
    - mkdir -p logs
    - curl -fsS --retry 5 --retry-all-errors --max-time 600 -H "Authorization:Bearer $OPENCLAW_AUDIT_TOKEN" -o logs/audit.json "$OPENCLAW_BASE_URL/audit/run"
  artifacts:
    when: always
    paths: [logs/]
    expire_in: 14 days

可引用要點

  • 排程來源CI_PIPELINE_SOURCEschedule 才跑夜間作業,免與推送混跑。
  • 重試邊界curlretry 皆敗則人工介入
  • 歸檔與冪等:成品預設十四天;長留同步物件儲存並脫敏;OpenClaw 以自然日流水線編號去重。

排錯 FAQ

排程已到卻未進入目標作業?
rules 與排程變數覆寫;受保護分支可能限範本。
Mac 上 curl 握手緩慢或逾時?
租用機出口與 DNS;設 --connect-timeout--max-time
晨間與夜間搶佔資源?
使用 resource_group 串行,或參考排程矩陣調整優先級。
權杖輪替當晚如何零中斷?
排程變數雙權杖並存驗過再撤舊值;OpenClaw 唯讀權杖亦重疊一期

下一步:穩定節點再談自動化

穩定出口可預測算力,請看套餐定價免登入下單;連線見幫助中心部落格

免登入立即租用