リモート Mac の OpenClaw が Azure DevOps の ビルド完了 を サービスフックで受け、共有秘密を先に検証し 依存プリフェッチ後に 要約ジェイソンを戻します。Node 二二以上 と openclaw onboard、ループバックとポート実測が前提です。硬化・失敗回復・一覧参照。

運用で踏みがちな三つの壁

1. 履歴は二〇〇でも上流が四〇四に見える経路不一致。2. 外向きが多リージョンで発信元制限が破綻しがち。3. 軽量本文で改変点が省略され追跡取得が要る、の三点です。

判断表:共用エージェントとリモート Mac 前置

観点共用エージェントリモート Mac 前置
隔離再利用で混線ビルドごとに作業領域固定
受信外向きのみでは重いループバック終端で生ボディ保持
検証秘密運用が分散ゲートウェイで一元照合
説明既存へ載せやすい本流前の失敗削減を説明しやすい

手順チェックリストと受入観点

六ステップ
  • Node 二二以上 openclaw doctor 緑・常駐・ポート実測
  • 127.0.0.1 のみ、TLS で認可欠落を防ぐ
  • トークンは読取り最小とファイル六〇〇
  • フックは完了と定義、ベーシックかヘッダ秘密
  • 隔離・浅取得・npm ci --dry-run を tee
  • 戻しは五〇二/四二九のみ二・四・八秒、四〇一/四〇三は止める

インストールとゲートウェイ:Node・ポート・常駐

Node 二二以上 をシェルと launchd で揃え openclaw onboard 後に待受ポートを実測。plist に PATH と NODE_BINARY を絶対パス、秘密は六〇〇。

openclaw doctor curl -sf "http://127.0.0.1:${OPENCLAW_GATEWAY_PORT}/" -o /dev/null

サービスフック項目(ビルド完了)

イベントはビルド完了、フィルターは定義識別子、詳細に資源識別子。資格情報はベーシックまたは追加ヘッダで共有秘密です。

項目要点受信
イベント完了のみ他棄却
フィルター定義突合
秘密共有比較

ハンドラ:秘密検証と隔離プリフェッチ

Authorization を timing-safe に比較しヘッダ秘密も突合後に JSON 解析。mktemp -d で隔離し浅取得と乾走査を tee。

WORKDIR="$(mktemp -d /tmp/ado-openclaw.XXXXXX)" git -C "$WORKDIR" clone --depth 1 --branch "$BRANCH" \ "https://:${ADO_READ_PAT}@dev.azure.com/${ORG}/${PROJECT}/_git/${REPO}" . npm ci --dry-run 2>&1 | tee "$WORKDIR/prefetch.log"

要約戻し・退避・ログひな形

戻しは ジェイソン 同一形。五〇二/四二九のみ二・四・八秒最大三回、四〇一/四〇三は設計見直しのみ。

SUMMARY_JSON=$(jq -n --arg p "$PROJECT" --argjson id "$BUILD_ID" \ --argjson ms "$PREFETCH_MS" --argjson ex "$EXIT_CODE" \ --arg tail "$(tail -n 40 "$WORKDIR/prefetch.log")" \ '{project:$p,buildId:id,prefetchMs:ms,exitCode:ex,logTail:$tail}') for s in 2 4 8; do c=$(curl -sS -o /tmp/r.txt -w "%{http_code}" -m 25 -H "Content-Type: application/json" \ -H "Authorization: Bearer ${ADO_WRITE_PAT}" -d "$SUMMARY_JSON" "$CALLBACK_URL") || c=000 [[ "$c" != "502" && "$c" != "429" ]] && break; sleep "$s" done

よくある質問 FAQ

履歴は成功でも届かない

フィルターとプロキシを疑い同一ヘッダでエージェントから再現します。

共有秘密不一致

改行と空白を整え timing-safe で比較し認可ヘッダ欠落を確認します。

四〇一が続く

トークンスコープと失効を見直し四〇一と四〇三は再試行しません。

まとめ:ループバック・秘密先検証・隔離プリフェッチ・同一形戻し・限定リトライが核。MacPull のリモート Mac で常駐を安定化。購入・ヘルプ・ホーム・ブログはログイン不要。

パイプライン前置ノード向け

Azure DevOps 連携をリモート Mac で常駐ホストする

ヘルプ・購入・ホーム・実戦ブログはログイン不要です。

複数リージョン
SSH
柔軟な契約
サポート