社内リポジトリ管理の新選択肢：Forgejo - コーディングエージェント時代のGitHub Actions互換CI/CD

## はじめに

2025年現在、AIコーディングエージェントがソフトウェア開発に革命をもたらしています。Claude Code GitHub ActionsがGitHubワークフローにAIを活用した自動化をもたらし、@claudeメンションでコードレビューからPR作成まで一気通貫でサポートし、一方でOpenHands GitHub Action（旧OpenDevin）は、fix-meラベルや@openhands-agentコメントでGitHub issue解決を自動化しています。

これらの「GitHub Actions × コーディングエージェント」の組み合わせが主流となる中、社内リポジトリ管理の選択肢についても見直しが必要な時期に来ています。特に、GitLabのCI/CDシステムはGitHub Actionsとは大きく異なる構成であり、将来的にコーディングエージェントとの統合において課題となる可能性があります。

そこで今回、新たな選択肢として注目したいのが**Forgejo**です。ForgejoはGitHub Actions互換のCI/CDシステム「Forgejo Actions」を内蔵した自己ホスト型のGitサービスで、コーディングエージェント時代の要求に応える可能性を秘めています。

## コーディングエージェント時代の到来

### Claude Code GitHub Actionsの革新性

Claude Code GitHub ActionsはGitHubワークフローにAIを活用した自動化をもたらし、PRや課題で簡単に@claudeとメンションするだけで、Claudeはコードを分析し、プルリクエストを作成し、機能を実装し、バグを修正します。

Claude Code GitHub ActionsはClaude Code SDKの上に構築されており、Claude Codeをアプリケーションにプログラムで統合することができます。

**参考:** [Claude Code GitHub Actions公式ドキュメント](https://docs.anthropic.com/ja/docs/claude-code/github-actions)

#### Claude Code GitHub Actionsの主要機能：

- **自動コードレビュー**: PRの変更を分析し、改善提案を提供
- **課題の自動トリアージ**: Issueの内容を分析し、適切な対応を実施
- **コード実装**: @claudeメンションで簡単な修正から新機能まで実装可能
- **PR管理**: ブランチ作成からPR作成まで一気通貫でサポート
- **プロジェクト標準準拠**: CLAUDE.mdファイルによるプロジェクト固有のルール適用

### OpenHands GitHub Actionの汎用性

OpenHands（旧OpenDevin）は、AIによって動力を与えられたソフトウェア開発エージェントのプラットフォームで、人間の開発者ができることをすべて実行可能です。

OpenHands CodeAct 2.1は実際のGitHub issueの50%以上を解決できる初のソフトウェア開発エージェントとして、その実用性を証明しています。

**参考:** [OpenHands公式サイト](https://docs.all-hands.dev/)

#### OpenHands GitHub Actionの特徴：

- **完全な開発環境**: fix-meラベルまたは@openhands-agentコメントによりアクションを自動トリガー
- **高い問題解決能力**: SWE-Benchにおいて実際のGitHubの問題の50%以上を解決
- **多様な開発タスク**: コード生成・修正、プロジェクトセットアップ、依存関係管理、GitHub Actions追加、API開発、フロントエンド開発、コードリファクタリング
- **反復的解決**: PRへのフィードバックを通じて継続的改善が可能

### 他プラットフォームでの課題

GitLabのCI/CDシステムは`.gitlab-ci.yml`という独自の構成ファイルを使用し、GitLab CIは単一の.gitlab-ci.ymlファイルにすべてのパイプライン定義を集約し、GitHub Actionsは目的別に整理された複数のワークフローファイルを許可するという根本的な違いがあります。

この構造的相違により、GitHub Actionsベースのコーディングエージェントとの統合が困難になる可能性があります。

## Forgejoという新たな選択肢

### Forgejoとは

Forgejo（/for'd͡ʒe.jo/ - エスペラント語で「鍛冶場」を意味するforĝejoに由来）は、2022年に独立したコミュニティが所有すべきとの信念から生まれた軽量で直感的なGitホスティングサービスです。

**参考:** [Forgejo公式サイト](https://forgejo.org/)

### Forgejo Actionsの革新性

Forgejoの最大の特徴は、**GitHub Actions互換のCI/CDシステム「Forgejo Actions」**を内蔵していることです。

Forgejo Actionsは、リポジトリの.forgejo/workflowsディレクトリにあるファイルから駆動される継続的インテグレーションを提供し、ワークフローファイルの構文と意味論はGitHub Actionsに慣れ親しんだ人には馴染みがある。

#### GitHub Actionsとの互換性

Forgejo Actionsの具体的な互換性：

1. **ワークフロー構文**: GitHub Actionsとほぼ同一のYAML構文
2. **コンテキスト**: `github.event`、`secrets`、`vars`などのコンテキストをサポート
3. **アクション利用**: GitHub Actions Marketplaceのアクションが利用可能
4. **トリガー**: プッシュ、プルリクエスト、スケジュールなど同様のトリガー

```yaml
# Forgejo Actionsの例
on: [push]
jobs:
  test:
    runs-on: docker
    steps:
      - uses: actions/checkout@v3
      - run: echo "GitHub Actionsと同じ構文"
```

#### GitHub Actionsとの相違点

完全な互換性ではないため注意が必要な点：

- デフォルトActionのベースURL（`DEFAULT_ACTIONS_URL`）の設定が必要
- 一部のGitHub固有の機能は利用不可
- セルフホストランナーの設定が必須

## なぜForgejoが有力な選択肢なのか

### 1. コーディングエージェントとの親和性

GitHub Actions互換の構文により、Claude Code ActionsやOpenHands Actionsのようなコーディングエージェントとの統合が期待できます。

#### Claude Code Actionsとの統合可能性

Claude Code ActionsはGitHub Actions内でClaude Codeを実行可能で、カスタムワークフローの構築に使用できます。Forgejo ActionsのGitHub Actions互換性により、同様の統合が実現できる可能性があります。

#### OpenHands Actionsとの統合可能性

OpenHands GitHub Actionは`fix-me`ラベルまたは`@openhands-agent`コメントによる自動トリガー機能を提供しており、Forgejo Actionsでも同様の機能実装が期待できます。

### 2. GitLabからの移行優位性

GitLab CIは単一の.gitlab-ci.ymlファイルを使用するのに対し、GitHub Actionsは複数のワークフローファイルを目的別に整理できるという構造的違いがあるため、GitLab CIの構成をそのまま利用するよりも、Forgejo Actionsに移行する方が将来性があります。

### 3. オンプレミス運用の柔軟性

- **軽量設計**: ラズベリーパイでも動作する軽量設計
- **プライバシー重視**: 社内データの完全管理
- **カスタマイズ性**: 企業の要件に応じた柔軟な設定

### 4. エコシステムの活用

DEFAULT_ACTIONS_URLを通じて、GitHub Actions Marketplaceのアクションを活用可能であり、既存のCI/CDアセットを流用できます。

## 実装における考慮事項

### 技術的要件

1. **Forgejo Runnerの設置**: 別途CI/CDジョブを実行するランナーが必要
2. **コンテナ環境**: DockerまたはPodmanによるジョブ実行環境
3. **アクション管理**: 社内利用するアクションのソース管理

### セキュリティ考慮

- 自動トークンによる認証機能
- プルリクエストワークフローの適切な権限管理
- シークレット管理の適切な設定

### 移行戦略

1. **段階的移行**: 小規模プロジェクトでのPoC実施
2. **ワークフロー移植**: 既存のCI/CDワークフローのForgejo Actions化
3. **ランナー最適化**: 社内要件に応じたランナー環境の構築
4. **エージェント統合**: Claude Code ActionsやOpenHands Actionsとの統合検証

## コーディングエージェント統合の実現可能性

### Claude Code GitHub Actionsとの統合

anthropics/claude-code-base-actionを使用して、プロンプトファイルやカスタムシステムプロンプト、環境変数を指定してClaude Codeを実行できるGitHub Actionが存在します。Forgejo Actionsの互換性により、同様の機能実装が可能です。

https://x.com/hAru_mAki_ch/status/1929895975159513434

### OpenHands GitHub Actionとの統合

OpenHands GitHub Actionでは`LLM_MODEL`、`OPENHANDS_MAX_ITER`、`OPENHANDS_MACRO`などのカスタム設定が可能で、これらの設定をForgejo Actionsでも利用できます。

https://x.com/hAru_mAki_ch/status/1936321456876798200

## まとめ

コーディングエージェントとGitHub Actionsの組み合わせが開発の標準となりつつある今、社内リポジトリ管理においてもこの流れに対応した選択が重要です。

**Forgejoの優位性：**

- GitHub Actions互換によるコーディングエージェント対応可能性
- GitLab CIの構造的制約からの解放
- オンプレミス運用による完全なデータ統制
- 既存エコシステムとの高い互換性


Claude Codeがソフトウェア開発におけるAIの閾値を示す瞬間であり、OpenHands CodeAct 2.1が実際のGitHub issueの50%以上を解決できる能力を示している現在、CI/CDプラットフォームの選択も将来のAI協働を前提として検討すべき時代が到来しています。

ForgejoとForgejo Actionsは、この新しい開発パラダイムに対応しつつ、企業の自主性とセキュリティを両立させる有力な選択肢として注目に値します。

---


## リポジトリ

https://github.com/Sunwood-ai-labs/forgejo-postgre-docker

## 参考リンク

### Claude Code GitHub Actions
- [Claude Code公式サイト](https://www.anthropic.com/claude-code)
- [Claude Code GitHub Actions公式ドキュメント](https://docs.anthropic.com/ja/docs/claude-code/github-actions)
- [Claude Code Action (GitHub Marketplace)](https://github.com/marketplace/actions/claude-code-action-official)
- [Claude Code Base Action (GitHub)](https://github.com/anthropics/claude-code-base-action)
- [Claude Code Action (GitHub)](https://github.com/anthropics/claude-code-action)

### OpenHands GitHub Action
- [OpenHands公式サイト](https://docs.all-hands.dev/)
- [OpenHands GitHub リポジトリ](https://github.com/All-Hands-AI/OpenHands)
- [OpenHands GitHub Action使用方法](https://docs.all-hands.dev/modules/usage/how-to/github-action)
- [OpenHands Cloud](https://cloud.all-hands.dev/)

### Forgejo
- [Forgejo公式サイト](https://forgejo.org/)
- [Forgejo Actions ユーザーガイド](https://forgejo.org/docs/latest/user/actions/)
- [Forgejo Actions 管理者ガイド](https://forgejo.org/docs/latest/admin/actions/)
- [Forgejo GitHub リポジトリ](https://codeberg.org/forgejo/forgejo)