自立編 2-04 / Essay
自立編 2-04 № 04 · 2026

コードの置き場を、
自分の側に。

ビルダーの仕事場を、自分の側に ── リポジトリも CI も、Microsoft の外へ

ビルダーの仕事は、コードを書くことではない。AI に書かせ、評価し、統合することだ(1-04)。だが、生まれたコードには置き場が要る ── それがリポジトリだ。AI が大量に生むコードほど、その置き場の主導権が効いてくる。

GitHub も Azure DevOps も、他社のサーバの上にある。ここでは、その仕事場を 自分の側に立てる。

なぜコードを自分の側に置くのか

コードは資産だ。事業の中身そのものが、そこに書かれている。それを他社のプラットフォームに預けたままにする理由は、もう薄い。

汎用の Git ホスティングは、すでに OSS にある。書くのではなく、立てる

Forgejo を立てる

仕事場は Forgejo。Gitea 系の単一バイナリで、リポジトリ・Issue・プルリクエスト・レビュー・CI を一つに備える。GitHub・GitLab・Azure DevOps の置き換えだ。データは 2-02の PostgreSQL に乗せる。

# compose.yaml ── Forgejo を2-02の DB に乗せて立てる
services:
  code:
    image: codeberg.org/forgejo/forgejo:latest
    environment:
      FORGEJO__database__DB_TYPE: postgres
      FORGEJO__database__HOST: db:5432      # 2-02の PostgreSQL
      FORGEJO__database__NAME: forgejo
      FORGEJO__database__USER: postgres
      FORGEJO__database__PASSWD: change-me
    volumes: ["./forgejo:/data"]
    ports: ["3000:3000", "2222:22"]
    restart: always
docker compose up -d
git remote add origin ssh://git@localhost:2222/team/app.git
git push -u origin main          # もう自分のサーバに乗っている

CI/CD ── Forgejo Actions

テスト・ビルド・デプロイの自動化は Forgejo Actions。GitHub Actions と 同じ書式のワークフローがそのまま動く。リポジトリに一枚置くだけだ。

# .forgejo/workflows/ci.yml
on: [push]
jobs:
  test:
    runs-on: docker
    steps:
      - uses: actions/checkout@v4
      - run: pytest          # 自分のランナーで、追加料金ゼロ

GitHub Actions の従量課金から降りる。ランナーも自分の側にあるので、回す回数を気にせず、AI が書いたコードを何度でも検証できる。

手元の道具 ── Zed と Claude

サーバが Forgejo なら、手元の編集は Zed。Rust 製で軽く、複数人の同時編集と AI 連携を備えたエディタだ。Claude をその場に呼び、生成・修正・説明をさせながら、ビルダーは 評価と統合に集中する。

git clone ssh://git@localhost:2222/team/app.git
zed app/          # Claude を呼んで、書かせ、評価し、push する

書くのは AI、決めるのは人。仕事場(Forgejo)と道具(Zed)が揃えば、その分担がそのまま回る。

門番の内側に置き、移行する

Forgejo はリバースプロキシの内側に置く(2-03)。GitHub からの移行は、 Forgejo の 「新規移行」 が Issue・PR ごとリポジトリを取り込む。

git.example.com { reverse_proxy code:3000 }

一度に切り替えなくてよい。GitHub をミラーにしたまま並行で動かし、慣れたら本番を Forgejo に寄せる(2-09)。

コードは、事業の中身そのものだ。その置き場の主導権は、他社ではなく自分が持つ

まとめ

ビルダーの仕事場を、自分の側に。

書いたコードは、設定だけ。汎用は、すでに OSS として在る。次章では、 メール(Stalwart) を自分の側に立て、Exchange と Outlook の依存を断つ。


関連記事