モノレポ【monorepo】モノリポ/monolithic repository

概要

モノレポとは複数のプロジェクトソフトウェアコンポーネントソースコードを、一つのバージョン管理システムリポジトリにまとめて格納・管理する手法。また、そのような単一の巨大リポジトリ。例えば、Webアプリケーションフロントエンドバックエンド、共通ライブラリ、開発ツールなどを同じリポジトリに置き、関連するコードを一元的に扱う。
モノレポのイメージ画像

一般的なソフトウェア開発では、プロジェクトやサービスごとに個別のリポジトリを用意して管理する。モノレポはその対極に位置し、複数のプロジェクトディレクトリで分けながら一つのリポジトリ内に同居させる。

リポジトリは共通であっても、内部のアプリケーションやサービスはそれぞれ独立してビルドやテスト、デプロイができる構成にしておく。コードをまとめて格納するからといって、すべての機能を一つのプログラムに詰め込む設計を意味するわけではなく、各プロジェクトは引き続き別々に開発・運用される。

モノレポを採用すると、複数のプロジェクトにまたがって使われる共通ライブラリや設定ファイルを一箇所で管理できるため、重複した管理が不要になる。共通部分に変更が生じた場合も、一箇所を修正すれば関係するすべてのプロジェクトに即座に反映される。コード品質チェックツールやテスト設定、CI/CDパイプラインも統一して管理しやすく、設定の更新漏れや不整合が起きにくい。

複数チームが関わる開発でも、あるチームの変更が別の担当部分に及ぼす影響を同一リポジトリ内で一括して確認でき、連携ミスが減る。新たに参加した開発者も、リポジトリを一度取得するだけでシステム全体のコードを手元に揃えられる。米グーグル(Google)社や米メタ(Meta Platforms)社、米マイクロソフト(Microsoft)社などの大規模なソフトウェア企業が長年採用してきたことで広く知られるようになり、近年では中小規模の開発でも採用例が増えている。

一方、リポジトリが巨大化するという課題もある。関係のない変更を含むすべての履歴をローカルに取り込む必要があり、クローン(複製)の取得に時間とストレージを要するようになる。変更の度にプロジェクト全体のテストが走る構成では継続的インテグレーションCI)の実行時間も長くなりやすく、特定のプロジェクトだけに権限を限定するアクセス制御も難しくなる。これらに対処するため、変更範囲を効率よく検出する仕組みや高速なビルド機能を備えた「Nx」や「Turborepo」「Bazel」などの専用ツールが普及している。なお、モノレポと対比する文脈で、従来通り複数のリポジトリを使い分ける方式のことを「ポリレポ」(polyrepo)あるいは「マルチレポ」(multirepo)と呼ぶことがある。

(2026.7.16更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。