- Veröffentlicht am
MonoRepo - können Sie es glauben?
- Autoren

- Name
- AbnAsia.org
- @steven_n_t
"Glauben Sie, dass Google, Meta, Uber und Airbnb fast ihren gesamten Code in einem Repository ablegen?
Diese Praxis wird Monorepo genannt.
Monorepo vs. Microrepo. Welches ist das Beste? Warum wählen verschiedene Unternehmen unterschiedliche Optionen?
Monorepo ist nicht neu; Linux und Windows wurden beide mit Monorepo erstellt. Um die Skalierbarkeit und die Build-Geschwindigkeit zu verbessern, hat Google eine interne dedizierte Toolchain entwickelt, um die Skalierung zu beschleunigen und strenge Codierungsqualitätsstandards einzuführen, um die Konsistenz zu gewährleisten.
Amazon und Netflix sind wichtige Botschafter der Microservice-Philosophie. Dieser Ansatz trennt den Dienstcode natürlich in separate Repositorys. Es lässt sich schneller skalieren, kann aber später zu Problemen bei der Governance führen.
Innerhalb von Monorepo ist jeder Dienst ein Ordner und jeder Ordner verfügt über eine BUILD-Konfiguration und eine OWNERS-Berechtigungssteuerung. Jeder Servicemitarbeiter ist für seinen eigenen Ordner verantwortlich.
Andererseits ist in Microrepo jeder Dienst für sein Repository verantwortlich, wobei die Build-Konfiguration und Berechtigungen normalerweise für das gesamte Repository festgelegt werden.
In Monorepo werden Abhängigkeiten unabhängig von Ihrem Unternehmen in der gesamten Codebasis gemeinsam genutzt. Wenn es also zu einem Versions-Upgrade kommt, aktualisiert jede Codebasis ihre Version.
In Microrepo werden Abhängigkeiten innerhalb jedes Repositorys gesteuert. Unternehmen entscheiden anhand ihrer eigenen Zeitpläne, wann sie ihre Versionen aktualisieren.
Monorepo hat einen Standard für Check-ins. Der Codeüberprüfungsprozess von Google ist dafür bekannt, hohe Maßstäbe zu setzen und einen kohärenten Qualitätsstandard für Monorepo sicherzustellen, unabhängig vom Unternehmen.
Microrepo kann entweder einen eigenen Standard festlegen oder einen gemeinsamen Standard übernehmen, indem es Best Practices einbezieht. Es kann für Unternehmen schneller skaliert werden, die Codequalität kann jedoch etwas anders sein.
Google-Ingenieure haben Bazel und Meta Buck entwickelt. Es stehen weitere Open-Source-Tools zur Verfügung, darunter Nix, Lerna und andere.
Im Laufe der Jahre verfügte Microrepo über weitere unterstützte Tools, darunter unter anderem Maven und Gradle für Java, NPM für NodeJS und CMake für C/C++. "

Bitte beachten Sie, dass die deutsche Version von Ai unterstützt wird und daher geringfügige Fehler auftreten können.
AUTOR
Über ABN Asia: Ai Base Network (ABN), ABN Asia wurde im Jahr 2012 gegründet und ist ein Unternehmen mit akademischem Hintergrund, das von Lehrkräften und ehemaligen Studierenden aus Ungarn, den Niederlanden, Russland, Deutschland und Japan gegründet wurde. Wir teilen eine gemeinsame Leidenschaft und eine klare Vision für Technologie, die Innovation und erstklassige Qualität für unsere Kunden bringt. Unser Motto lautet: Besser. Schneller. Sicherer. In vielen Fällen: Günstiger.
Zögern Sie nicht, uns zu kontaktieren, wenn Sie IT-Dienstleistungen, digitale Beratung, Standardsoftwarelösungen benötigen oder uns Angebotsanfragen (RFPs) senden möchten. Sie können uns unter [email protected] kontaktieren. Wir sind bereit, Ihnen bei all Ihren Technologiebedürfnissen zu helfen.

© ABN ASIA