From f236ffd748c34dfda990d4db42606e29510c1b93 Mon Sep 17 00:00:00 2001 From: koide Date: Fri, 27 Feb 2026 03:36:51 +0000 Subject: [PATCH] =?UTF-8?q?Add:=20Gitea=20x=20OpenClaw=20=E9=96=8B?= =?UTF-8?q?=E7=99=BA=E3=83=97=E3=83=AD=E3=82=BB=E3=82=B9=E8=A8=98=E4=BA=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs-tech/gitea-openclaw-dev-process/index.md | 111 ++++++++++++++++++ docs-tech/index.md | 10 +- src/pages/index.tsx | 6 + 3 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 docs-tech/gitea-openclaw-dev-process/index.md diff --git a/docs-tech/gitea-openclaw-dev-process/index.md b/docs-tech/gitea-openclaw-dev-process/index.md new file mode 100644 index 0000000..624a234 --- /dev/null +++ b/docs-tech/gitea-openclaw-dev-process/index.md @@ -0,0 +1,111 @@ +--- +sidebar_position: 2 +title: Gitea × OpenClaw 連携の開発プロセス実践ガイド +description: Issue/PR Webhook連携でAI開発を回すための実運用プロセス(ブランチ戦略、レビュー、マージ、再発防止) +hide_table_of_contents: false +displayed_sidebar: null +--- + +# Gitea × OpenClaw 連携の開発プロセス実践ガイド + +## はじめに + +Gitea Webhook で OpenClaw を呼び出す構成は便利ですが、運用ルールが曖昧だとすぐ壊れます。 + +この記事では、実際に運用しながら整えた **Issue/PR 駆動の開発プロセス** をまとめます。 + +## 目的 + +- Issue を起点に AI が修正提案・実装を進める +- PR でレビューし、問題なければ main へ反映 +- ブランチ運用・反映手順を毎回明示し、Git に不慣れでも迷わない + +## 全体フロー + +1. Gitea で Issue を作成 +2. Webhook Bridge が OpenClaw にタスク転送 +3. 修正ブランチで実装・検証 +4. PR 作成 +5. PR Webhook で最終レビュー +6. main へマージ +7. Issue に進捗コメント(手順付き) + +## 運用ルール(重要) + +### 1) 変更は必ず作業ブランチで + +- `fix/issue-<番号>-<要約>` +- `feat/issue-<番号>-<要約>` +- `docs/issue-<番号>-<要約>` + +### 2) Issue コメントに毎回この3点を記載 + +- ブランチ切替コマンド +- 検証コマンド +- main へのマージコマンド + +### 3) PR イベントも Webhook で処理 + +`issues` だけでなく `pull_request` も受ける。 +対象アクションは最低限以下を推奨: + +- `opened` +- `reopened` +- `synchronize` + +## 実用テンプレ(そのまま使える) + +### ブランチ切替 + +```bash +git fetch origin +git switch fix/issue-123-xxx +# 古いgitなら: git checkout fix/issue-123-xxx +``` + +### 検証 + +```bash +python3 -m py_compile src/*.py app/*.py +python3 app/web_ui.py --port 7860 --config config/config.yaml +``` + +### main へ反映 + +```bash +git switch main +git pull origin main +git merge --no-ff fix/issue-123-xxx +git push origin main +``` + +## 破綻しやすいポイントと対策 + +### Webhook が `EOF` で失敗 + +- 原因の多くは受信サーバー側の例外落ち +- `do_POST` 全体を `try/except` で囲み、必ず HTTP 応答を返す + +### 別機能の修正で Webhook が壊れる + +- ブリッジ機能を分離(例: Gitea用 / Discord用を別リポ・別サービス) +- systemd サービスも分離 + +### ローカル設定ファイルが pull を壊す + +- `config.yaml.example` を追跡 +- `config.yaml` は `.gitignore` + +## まとめ + +Gitea × OpenClaw 連携は、技術そのものより **運用ルールの明文化** が効きます。 + +- ブランチ命名を固定 +- Issue コメントのテンプレを固定 +- PR Webhook まで含める +- 失敗しやすい箇所を分離・自動化 + +この4つを守るだけで、連携はかなり安定します。 + +--- +*この記事は2026年2月時点の情報です。* diff --git a/docs-tech/index.md b/docs-tech/index.md index daf6a40..393a625 100644 --- a/docs-tech/index.md +++ b/docs-tech/index.md @@ -11,16 +11,18 @@ slug: / ## DGX Spark -- [DGX SparkにAnythingLLMを導入してローカルLLMエージェントを構築](/tech/dgx-spark-anythingllm/) - Docker + Ollama + AnythingLLMで完全 +- [DGX SparkにAnythingLLMを導入してローカルLLMエージェントを構築](/tech/dgx-spark-anythingllm/) - Docker + Ollama + AnythingLLMで完全 - [DGX SparkでClaude Code + Qwen3-Coder-Nextをローカル実行する](/tech/dgx-spark-claude-code-local/) - Claude Codeを完全ローカル化!Qw - [ローカルClaude Code + Playwright CLIでブラウザ自動化エージェントを作る](/tech/dgx-spark-claude-code-playwright/) - Claude Code + Playwright CLIで安定し -- [DGX Spark デュアル構成ガイド](/tech/dgx-spark-dual/) - 2台のDGX Sparkを接続して256GBメ +- [DGX Spark デュアル構成ガイド](/tech/dgx-spark-dual/) - 2台のDGX Sparkを接続して256GBメ - [DGX SparkでMiniMax-M2.5-REAP-172Bを動かす](/tech/dgx-spark-minimax/) - DGX Sparkデュアル構成で172Bパラ -- [DGX SparkでQwen3-Coder-Next(80B MoE)を動かす](/tech/dgx-spark-qwen3-coder-next/) - NVIDIA DGX Sparkの128GB統合メモリ -- [DGX SparkでVibeVoice ASRを動かす — リアルタイム日本語音声認識](/tech/dgx-spark-vibevoice-asr/) - Microsoft VibeVoice ASRをDGX Spark環 +- [DGX SparkでQwen3-Coder-Next(80B MoE)を動かす](/tech/dgx-spark-qwen3-coder-next/) - NVIDIA DGX Sparkの128GB統合メモリ +- [DGX SparkでVibeVoice ASRを動かす — リアルタイム日本語音声認識](/tech/dgx-spark-vibevoice-asr/) - Microsoft VibeVoice ASRをDGX Spark環 ## その他 - [ローカルサーバーでマイク・カメラを使う方法](/tech/browser-secure-context/) - [SearXNGでローカル検索APIを構築する](/tech/searxng-local-search/) - [ローカルGitea × Webhook連携で、AIとの開発をもっと楽にしよう!](/tech/gitea-webhook-ai-review/) - Issue作成だけでAIが自動コードレビューしてくれる仕組み + +- [Gitea × OpenClaw 連携の開発プロセス実践ガイド](/tech/gitea-openclaw-dev-process/) - Issue/PR駆動で壊れにくく回す実運用ルール diff --git a/src/pages/index.tsx b/src/pages/index.tsx index e4fe4d8..1db8c92 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -18,6 +18,12 @@ function HomepageHeader() { function RecentTech() { const posts = [ + { + title: "Gitea × OpenClaw 連携の開発プロセス実践ガイド", + date: "2026-02-27", + tag: "Gitea", + url: "/tech/gitea-openclaw-dev-process", + }, { title: "ローカルGitea × Webhook連携でAI自動コードレビュー", date: "2026-02-26",