Prozkoumání monorepo a více úložišť

Dokončeno

Úložiště je místo, kde je uložená historie práce, obvykle v podadresáři Git.

Jak byste měli uspořádat úložiště kódu? Vývojové týmy se zaměřují na oddělení obav v jejich softwaru a úložištích. Jak čas projde, není neobvyklé, aby úložiště kódu byla nepotřebná s irelevantním kódem a artefakty.

Pokud jde o uspořádání úložišť, existují dvě hlavní filozofie: použití jednoho úložiště (Monorepo) nebo více úložišť.

  • Monorepos je vzor správy zdrojového kódu, ve kterém se veškerý zdrojový kód uchovává v jednom úložišti. Všem zaměstnancům je snadné poskytnout přístup ke všemu najednou. Naklonujte ho a máte hotovo.
  • Uspořádání projektů do samostatných úložišť se označuje jako více úložišť.

Základním rozdílem mezi monopo a více filozofiemi úložiště je to, co umožňuje týmům pracovat nejefektivněji. V extrémním scénáři zobrazení více úložišť naznačuje, že každý dílčí tým může pracovat v úložišti. Umožňuje jim pracovat v příslušných oblastech pomocí knihoven, nástrojů a pracovních postupů vývoje, které optimalizují jejich produktivitu.

Náklady na využívání čehokoli, co není vyvinuto v daném úložišti, je ekvivalentní použití knihovny nebo služby třetí strany, i když ji napsal někdo, kdo sedí poblíž.

Pokud v knihovně narazíte na chybu, měli byste ji vyřešit v odpovídajícím úložišti. Po publikování nového artefaktu se můžete vrátit do úložiště a provést potřebné změny kódu. Pokud je ale chyba v jiném základu kódu nebo zahrnuje různé knihovny, nástroje nebo pracovní postupy, možná budete muset požádat o pomoc vlastníka tohoto systému a počkat na odpověď.

Při použití zobrazení mono úložiště může správa složitých grafů závislostí zvýšit potíže při používání jednoho úložiště. Výhody, které umožňují, aby různé týmy fungovaly nezávisle, nejsou podstatné. Některé týmy můžou najít efektivní způsob práce, ale nemusí to platit pro všechny skupiny. Kromě toho si ostatní týmy můžou zvolit neoptimální přístup a negovat všechny výhody získané ostatními. Konsolidace všech vašich prací v mono úložišti vám umožní soustředit se na úzce monitorovat toto jediné úložiště.

Potíže s prováděním změn v jiných úložištích nebo čekáním na to, aby týmy udělaly změny za vás, se vyhnete v mono úložišti, kde kdokoli může cokoli změnit.

Pokud zjistíte chybu v knihovně, oprava je stejně snadná jako nalezení chyby ve vlastním kódu.

Poznámka:

V Azure DevOps je běžné použít samostatné úložiště pro každé přidružené řešení v rámci projektu.