Legenden zu Mono-Repos 1: „Builds dauern ewig“

Wer schon einmal über die Vor- und Nachteile von Mono-Repos diskutiert hat, kennt ihn: den Satz, der in jeder Diskussion zuerst genannt wird: „Aber Builds in Mono-Repos dauern doch ewig!“

Klingt wie das perfekte Argument, um bei einem Poly-Repo zu bleiben, oder? Doch Moment mal – stimmt das wirklich? Zeit, diese Legende einmal gründlich auseinanderzunehmen.

Woher kommt der Mythos?

Mono-Repos, also das zentrale Zuhause für alle Projekte eines Teams oder Unternehmens, klingen erstmal nach einem Chaos-Magneten. „Du willst mir also sagen, dass ALLES in EINEM Repo liegt? Wie soll das gehen, ohne dass der CI/CD-Server in die Knie geht?“ Es ist verständlich, dass die Vorstellung abschreckt. Wenn ein Repo mit Hunderten von Projekten wächst, denkt man schnell an gigantische Builds, die Stunden oder gar Tage dauern.

Aber das ist eher ein Märchen aus der Vergangenheit als Realität. Warum? Schauen wir uns das mal genauer an.

Mythos entzaubert: Builds müssen NICHT ewig dauern

Die Wahrheit ist: Builds in Mono-Repos sind nicht automatisch langsamer. Im Gegenteil, moderne Tools und Techniken machen sie oft schneller und effizienter als Builds in einer Sammlung von Poly-Repos. Hier sind die wichtigsten Gründe:

1. Incremental Builds – Der Turbo für Mono-Repos

Mono-Repos haben einen großen Vorteil: Tools wie Bazel, Nx, oder Gradle können genau tracken, welche Teile des Codes wirklich geändert wurden. Statt alles neu zu bauen, wird nur das gebaut, was tatsächlich betroffen ist. Stell dir das vor wie ein intelligentes Navi: Es kennt immer den kürzesten Weg und spart dir Zeit.

2. Caching ist König

Viele Mono-Repo-Build-Systeme nutzen aggressive Caching-Strategien. Das bedeutet, wenn etwas schon einmal gebaut wurde und sich nicht geändert hat, wird es einfach wiederverwendet. So kannst du sicherstellen, dass Builds nicht nur schnell laufen, sondern auch konsistent sind.

3. Parallelisierung rettet den Tag

Die meisten modernen CI/CD-Pipelines können Build-Schritte parallel ausführen. Das ist besonders bei Mono-Repos ein Game-Changer. Anstatt stumpf alle Projekte nacheinander zu bauen, nutzt du die Power moderner Hardware. 1000 Projekte? Kein Problem – 100 gleichzeitig zu bauen spart ordentlich Zeit.

Was verursacht wirklich lange Builds?

Es gibt durchaus Fälle, in denen Builds in Mono-Repos lange dauern können – aber das liegt meist nicht am Mono-Repo selbst, sondern an anderen Faktoren:

  • Fehlendes Tooling: Ohne Tools wie Bazel oder Nx können Build-Prozesse ineffizient werden.
  • Zu große Abhängigkeiten: Wenn Projekte zu stark miteinander verknüpft sind, muss der gesamte Baum rekursiv gebaut werden.
  • Unzureichende Hardware: Ein Mono-Repo verlangt nach moderner Infrastruktur. Wenn deine CI/CD-Pipeline auf einem Server aus den 90ern läuft, hilft auch der beste Cache nichts.

Fazit: Keine Angst vor großen Repos

Die Legende, dass Builds in Mono-Repos ewig dauern, ist also genau das: ein Mythos. Mit dem richtigen Setup können Mono-Repos sogar schneller und zuverlässiger arbeiten als ihre poly-repo-gestützten Gegenstücke. Wichtig ist, dass du moderne Tools und Best Practices nutzt, um das Beste aus deinem Mono-Repo herauszuholen.

Also, beim nächsten Mal, wenn jemand mit „Builds dauern ewig“ um die Ecke kommt, kannst du entspannt sagen: „Klingt eher nach einem Tooling-Problem als nach einem Mono-Repo-Problem!“

Bleib gespannt auf Teil 2 der Serie – da geht es um den nächsten Mythos: „Man verliert komplett den Überblick!“ 👀