Logo David Burdelak
Słownik · Web development

Co to jest monorepo?

Ostatnia aktualizacja:

Monorepo to jedno repozytorium kodu, w którym znajduje się wiele powiązanych projektów, aplikacji lub bibliotek. Przeciwieństwem jest układ z osobnym repozytorium dla każdego projektu (polyrepo).

Kiedy monorepo ma sens?

Gdy kilka aplikacji dzieli kod, na przykład komponenty, typy czy konfigurację. Zmiana w bibliotece i jej użycie w kilku aplikacjach trafia do jednego commita, a zespół nie musi publikować wersji pośrednich pakietów, aby testować zmiany.

Zalety i wady

  • łatwe współdzielenie kodu i spójne wersje zależności,
  • jedna historia zmian i jeden potok CI,
  • repozytorium rośnie i wymaga narzędzi do zarządzania, np. Nx lub Turborepo,
  • trudniej ograniczyć dostęp do wybranych części kodu.

Czy monorepo to monolit?

Nie. Monorepo opisuje sposób przechowywania kodu, a monolit sposób jego uruchamiania. W jednym repozytorium mogą żyć niezależne mikroserwisy i aplikacje wdrażane osobno.

Narzędzia takie jak Nx czy Turborepo przyspieszają budowanie dzięki buforowaniu wyników.

Powiązane pojęcia

Wszystkie hasła z kategorii Web development