モノリポジトリでは複数のアプリケーションのコードを1つのGitLabリポジトリにホストできます。
GitLabのCI/CD機能をモノリポジトリで活用するには、各アプリケーションに個別のパイプライン構成が必要です。
以前は、ディレクトリの変更に基づいてYAMLファイルを含めるために、非表示のジョブと拡張ジョブを含む回避策が必要でした。
GitLab 16.4では、パイプライン用の「include with rules:changes」が導入され、ディレクトリの変更に基づくパイプラインファイルの条件付きインクルードが可能になりました。
これにより、パイプラインをデカップリングし、特定のアプリケーションのソースコードが変更された場合にのみ実行できます。
プロジェクトレベルのパイプライン構成は、検出された変更に基づいて適切なパイプラインをトリガーします。
各アプリケーションのパイプラインファイルは、ジョブの拡張を必要とせずに、そのコードの構築とテストに重点を置いています。
「変更」ルールは、新しいブランチまたはタグをプッシュするときにtrueに評価され、場合によっては含まれているすべてのジョブをトリガーします。
これを緩和するには、まず機能ブランチを作成してから、マージリクエストを開発に使用します。
GitLabのCI/CDと組み合わせたモノリポジトリは、複数のアプリケーションを管理するための効率的なアプローチを提供します。
モノリポジトリを調べるには、無料のGitLab Ultimateトライアルを利用できます。
about.gitlab.com
Building a GitLab CI/CD pipeline for a monorepo the easy way
