Add: Gitea x OpenClaw 開発プロセス記事
All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 28s

This commit is contained in:
koide 2026-02-27 03:36:51 +00:00
parent 7bde88743e
commit f236ffd748
3 changed files with 123 additions and 4 deletions

View File

@ -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月時点の情報です。*

View File

@ -11,16 +11,18 @@ slug: /
## DGX Spark ## DGX Spark
- [DGX Spark<72>隹nythingLLM<4C><EFBFBD><E98DA6><EFBFBD><E4B993><EFBFBD><E889BE><EFBFBD><E6BDA6>俠LM<4C><EFBFBD><E585B7><EFBFBD><E8A9BB><EFBFBD><E5968B><EFBFBD>蝭处(/tech/dgx-spark-anythingllm/) - Docker + Ollama + AnythingLLM<4C><EFBFBD><E689B9><EFBFBD> - [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 - [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で安定し - [ローカルClaude Code + Playwright CLIでブラウザ自動化エージェントを作る](/tech/dgx-spark-claude-code-playwright/) - Claude Code + Playwright CLIで安定し
- [DGX Spark <20><><EFBFBD><EFBFBD><EFBFBD>瑽𧢲<E791BD><F0A7A2B2><EFBFBD><E7A094>处(/tech/dgx-spark-dual/) - 2<><EFBFBD>DGX Spark<72>埝𦻖蝬𠾼<E89DAC><F0A0BEBC><EFBFBD>256GB<47> - [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でMiniMax-M2.5-REAP-172Bを動かす](/tech/dgx-spark-minimax/) - DGX Sparkデュアル構成で172Bパラ
- [DGX Spark<72>利wen3-Coder-Next嚗<74>80B MoE嚗剹<E59A97><E589B9>𨰻<EFBFBD><F0A8B0BB>输(/tech/dgx-spark-qwen3-coder-next/) - NVIDIA DGX Spark<72><6B>128GB蝯勗<E89DAF><E58B97><EFBFBD><EFBD9E> - [DGX SparkでQwen3-Coder-Next80B MoEを動かす](/tech/dgx-spark-qwen3-coder-next/) - NVIDIA DGX Sparkの128GB統合メモリ
- [DGX Spark<72>努ibeVoice ASR<53><EFBFBD><E98DA6><EFBFBD> <20><> <20><EFBFBD><E88AA5><EFBFBD><E68092><EFBFBD><E6898E>交𧋦隤鮋𨺗憯啗<E686AF>霅𤊓(/tech/dgx-spark-vibevoice-asr/) - Microsoft VibeVoice ASR<53>蔃GX Spark<72><EFBFBD> - [DGX SparkでVibeVoice ASRを動かす — リアルタイム日本語音声認識](/tech/dgx-spark-vibevoice-asr/) - Microsoft VibeVoice ASRをDGX Spark環
## その他 ## その他
- [ローカルサーバーでマイク・カメラを使う方法](/tech/browser-secure-context/) - [ローカルサーバーでマイク・カメラを使う方法](/tech/browser-secure-context/)
- [SearXNGでローカル検索APIを構築する](/tech/searxng-local-search/) - [SearXNGでローカル検索APIを構築する](/tech/searxng-local-search/)
- [ローカルGitea × Webhook連携で、AIとの開発をもっと楽にしよう](/tech/gitea-webhook-ai-review/) - Issue作成だけでAIが自動コードレビューしてくれる仕組み - [ローカルGitea × Webhook連携で、AIとの開発をもっと楽にしよう](/tech/gitea-webhook-ai-review/) - Issue作成だけでAIが自動コードレビューしてくれる仕組み
- [Gitea × OpenClaw 連携の開発プロセス実践ガイド](/tech/gitea-openclaw-dev-process/) - Issue/PR駆動で壊れにくく回す実運用ルール

View File

@ -18,6 +18,12 @@ function HomepageHeader() {
function RecentTech() { function RecentTech() {
const posts = [ const posts = [
{
title: "Gitea × OpenClaw 連携の開発プロセス実践ガイド",
date: "2026-02-27",
tag: "Gitea",
url: "/tech/gitea-openclaw-dev-process",
},
{ {
title: "ローカルGitea × Webhook連携でAI自動コードレビュー", title: "ローカルGitea × Webhook連携でAI自動コードレビュー",
date: "2026-02-26", date: "2026-02-26",