コードベースが 100 万もの異なるリポジトリに分散しているように感じたことはありますか?これが、ソフトウェア開発を管理する従来の方法であるポリリポジトリの本質です。しかし、もっと良い方法があったとしたらどうでしょうか?すべてのプロジェクトとライブラリを格納する単一の巨大なリポジトリであるモノリポジトリに入ります。
この記事では、モノリポジトリの世界に踏み込み、その利点と欠点を調査し、これらのコードヘイブンを管理するために特別に構築された強力なツールである NX を紹介します。
各開発チームが独自のコード王国、つまりプロジェクトごとに個別のリポジトリを持っている世界を想像してみてください。これがポリリポジトリの本質です。自主性(各チームが独自の決定を下す)を提供しますが、孤立につながる可能性があります。あるプロジェクトの変更により、別のプロジェクトが壊れる可能性があります。これは単にそれらが一緒にテストされていないためです。
Monorepos はこのスクリプトを反転します。すべてのコードを 1 つ屋根の下にまとめてコラボレーションを促進し、全員が同じ認識を持つようにします (文字通り、同じリポジトリ内にいます)。しかし、ちょっと待って、それは複雑な混乱のように聞こえませんか?完全ではありません。 Monorepos を使用すると、プロジェクト間の関係を明確に定義でき、1 つの大きなコードベース内であっても物事を整理した状態に保つことができます。
しかし、モノレポの土地に飛び移る前に、覚えておいてください。それはすべての人に適しているわけではありません。コードベースを共有し、コラボレーションを重視する組織に最適です。
モノリポジトリとモノリスを混同しないでください。モノリスは、すべてが絡み合った巨大な密結合アプリケーションです。一方、Monorepos は、独立した疎結合プロジェクトを収容できます。これは本でいっぱいの図書館だと考えてください。各本はプロジェクトですが、すべて同じ棚 (モノレポ) にきちんと整理されています。
それで、モノレポの世界を探索することにしました。ここで NX が登場します。NX は、これらの大規模なコードベースの管理に特有の課題に対処するために特別に設計されたビルド システムです。 NX には、モノリポジトリをスムーズに実行し続けるための機能のツールボックスが備わっています。
モノレポは、従来のポリリポのアプローチに代わる魅力的な代替手段を提供し、コラボレーションを促進し、変更を破壊するリスクを軽減します。 NX は一連の管理ツールを備えており、モノリポジトリ モデルを最大限に活用できます。
ただし、モノリポジトリは万能のソリューションではないことを覚えておいてください。切り替える前に、チームの構造と開発スタイルを検討してください。しかし、コラボレーションとワークフローの合理化が目標である場合、NX によって管理されるモノリポジトリは、開発効率を新たなレベルに引き上げる鍵となる可能性があります。
以上がNx を使用した Monorepos: すべてのコードに単一のホームが必要な理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。