2026 OpenClaw 租用 Mac Mini 实战 对接 GitLab Scheduled Pipeline 触发夜间巡检与晨间摘要

阅读时间:约 8 分钟

🚀 在租用 Mac Mini上跑OpenClaw的团队,宜把夜间巡检晨间摘要交给GitLab Scheduled Pipeline而非本机随意定时。GitLab提供审计友好的触发链路与变量隔离;本文含可复现命令检查点权限矩阵。延伸阅读:主备模型与配额降级分区与 launchd 隔离七乘二十四调度矩阵

痛点拆解

  1. 令牌过宽:个人访问令牌权限过大,离职或泄露时面攻击扩大。
  2. 触发不可审计:手工脚本缺流水线标识,失败难与变更对齐。
  3. 日志散落:作业输出未进制品,晨间复盘缺同一时空戳对照。

触发方式与最小权限决策矩阵

优先项目触发令牌;仅当必须调通用接口时用窄范围个人访问令牌并设过期。

方式适用权限建议风险
触发令牌固定分支夜间巡检仅流水线触发泄露可被人跑流水线
入站 Webhook外部系统回调 GitLab秘密令牌校验体重放需防幂等
个人访问令牌多项目编排读写范围最小集面宽需轮换与审计

落地七步(每步附检查点)

  1. 定契约:约定环境变量 RUN_MODEnightly_auditmorning_digest检查点:合并请求里能看到变量说明表。
  2. 建触发令牌:项目设置中创建,绑定默认分支。检查点:用只读账号尝试调接口应拒绝
  3. 配调度:Scheduled Pipeline 填 Cron,时区对齐业务城市。检查点:下一触发时间预览与本地钟表差在一分钟容忍内。
  4. 本机试跑(在 Mac 上验证出口与白名单):检查点:返回二零一且流水线可见。
  5. 接 OpenClaw:作业内 curl 携带只读审计头,路径指向健康与任务接口。检查点:失败时作业非零退出,通知频道收到摘要。
  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 打开作业级重试;artifacts 持久化日志目录便于晨间下载比对。

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 才跑夜间作业,避免与推送混跑。
  • 重试边界curl 与作业 retry 双层,仍失败须人工介入
  • 归档与幂等:制品默认两周,长留存同步对象存储并脱敏;OpenClaw 按自然日流水线号去重防双跑。

排错 FAQ

调度到了但没进目标作业?
rules 与调度变量覆盖;保护分支影响可用模板。
Mac 上 curl 握手慢或超时?
租用机出口与解析;写死 --connect-timeout--max-time
晨间与夜间抢资源?
resource_group 串行,或见调度矩阵
令牌轮换当晚?
调度变量双令牌并存验证后再下线旧值;OpenClaw 只读令牌同理重叠一期

下一步:稳定节点再谈自动化

稳定出口可预测算力,先看套餐定价免登录购买;连机见帮助中心博客列表

免登录下单租用