Architecture Decision Record

Active theme: Light

← Ensamplow kovskrif dyberth

Unyek-gwithva erbynn liesgwithva

Kenwyns:

Berrskrif

Kudyn

Agan towl a dhalghen displegya tri brassa klass a vedhelweyth:

  • GUIyow kynsa-tu
  • Gwassanethow kres-feth
  • Servyers diwedh-tu

Pan wren displegya, agan system gwithyans gwersyon (VCS) rewlyans fenten-kod (SCM) yw git.

Res yw dhyn dewis fatel usyn git rag ordena agan kod.

An dewis live uhel yw ordena avel "monorepo" po "polyrepo" po "hibrid":

  • Monorepo a styr may worrir oll an darnow yn unn gwithva bras
  • Polyrepo a styr may worrir pub darn y'ga gwithva y honan
  • Hibrid a styr nebes kemmysk a monorepo ha polyrepo

Rag moy gwelewgh https://github.com/joelparkerhenderson/monorepo-vs-polyrepo

Dyberth

Monorepo pan vo kowethas/tim/towl bian dre gehaval, ha ailtreyans skon yw priorita uhelha es gwitha studhusder.

Polyrepo pan vo kowethas/tim/towl bras dre gehaval, ha gwitha studhusder yw priorita uhelha es ailtreyans skon.

Studh

Dewisys. Ygor dhe dhasvewa mar/pan wra toulys nowydh dos rag rewlya monorepos ha/po polyrepos.

Manylyow

Tybyansow

Oll an kod a displegyn yw rag profyow unn kowethas, ha nyns yw rag an poblow ollgemmyn. Hen yw, an Broker-Dealer ny vynn kavos tra vyth haval dhe displegyoryon bolontek an poblow ollgemmyn.

Lettyansow

Lettyansow yw dogvennys yn da orth https://github.com/joelparkerhenderson/monorepo-vs-polyrepo

Savyow

Ni a gemeras yn kyfrif monorepos yn stil Google, Facebook, hag yn. Ni a gryj may fo pynag kudyn skalyadewder monorepo pell y'n termyn a dheu may hyllyn usya an keth usadow avel Google ha Facebook, erbynn an termyn may fo othom dhyn anodhans.

Ni a gemeras yn kyfrif polyrepos yn stil towlow ygor-fenten Git ollgemmyn, avel Google Android, Facebook React, hag yn. Ni a gryj may yns an dewis gwella rag perthyans poblek (rag ensampel pynag den y'n bys a hyll oberi war an kod) ha hegorrder unnik (rag ensampel an towl yw usys y honan, heb darn aral vyth).

Argument

Pan vo kowethas/tim/towl bian dre gehaval, ni a dhewis monorepo, awos ailtreyans skon yw yn meur uhelha yn priorita es gwitha studhusder

Pan vo kowethas/tim/towl bras dre gehaval, ni a dhewis polyrepo, awos gwitha studhusder yw yn meur uhelha yn priorita es ailtreyans skon.

Sewyansow

Mar pe pibell hwath rag CI+CD, ytho martesen res vydh dhyn hy hewelya rag previ lies towl y'n keth gwithva.

CI+CD a hyll kemeres moy termyn rag drehevel leun rag monorepo, awos CI+CD a hyll drehevel oll an towlow y'n monorepo.

Mar tev kowethas/tim/towl, ytho monorepo a'n jeves kudynyow skalyadewder.

Kudynyow skalyadewder monorepo a hyll gul moy poesek treylya dhe polyrepo.

Treylya dhyworth monorepo dhe polyrepo yw tasken devops poesek, ha res vydh y dowlenna, y rewlya, ha y dowlennya.

Kelmys

Dybyrthow kelmys

Ni a wra dybyrthow rag toulys kelmys rag rewlya monorepos (rag ensampel Google Bazel) ha polyrepos (rag ensampel Lyft Refactorator).

Othommow kelmys

Res yw dhyn displegya pibell CI+CD may hyllo oberi da gans git.

Arteffaktys kelmys

Ni a wayt may fo gans ordenans an gwithva arteffaktys kelmys rag provisyonya, rewlyans kefrysyans, previans, ha tiryow devops haval.

Prensiplys kelmys

Es dhe dasfyna. Mar na weth monorepo yn usadow, po na yw mynnys gans ledyoryon, es yw chanjya dhe polyrepo.

Obsesyon kerys. Ni a brys y fyth ow ri an towl yn dorn kerysyow, ha ni a gryj may hyllo monorepo agan dri dhe henna skonnha es polyrepo, ha gweres ynwedh ailtrei skonnha.

Tybyewgh bras. Google ha Facebook yw pur-krev gwarantyoryon a monorepos a-ugh polyrepos, awos oll an profyow kresek a hyll bos displegys/previys/displegys warbarth.

Notennow

Gorrewgh pynag notennow omma.