Monorepositoria: quaeso, mustum

Monorepositoria: quaeso, mustum

Articuli praeparatio ad cursum alumni "DevOps exercitia et instrumenta" in OTUS educational project.

Monorepositorium eligere debes quia mores promovet in iugis tuis perspicuitas et responsabilitas communis, praesertim cum iugis crescunt. Utroque modo, in instrumentis collocandis habebis, sed semper melius est si mores defaltam esse vis in mandatis tuis.

Cur de hoc loquimur?

Matt Klein scripsit articulum "Monorepos: Quaeso ne!"  (translator's note: translation on Habré "Monorepositoria: noli quaeso"). Matt mihi placet, hes 'sapiens' valde puto et tu eius sententiam legeris. Primum suffragium in Twitter:

Monorepositoria: quaeso, mustum

translationem:
Novus Annus Dies hic disputaturus sum de monorepositoria ridicula. MMXIX quiete profectus est. In hoc animo tibi offero percontatio. Qui sunt magni fanatici? Fautores:
- Monorepo
- rust
- Recta capita / utrumque

Responsum est mihi, "Ego sum utriusque populi." Loco loqui quomodo Rubigo medicamentum est, inspiciamus cur de monorepositoriis errasse putem. Exigua de te ipso. CTO Sum Software Chef. Habemus circa 100 fabrum, codicem basis recurrentis circiter 11-12 annos, et 4 principales fructus. Aliquod huius codicis est in polyrepositorio (incipiens positio), quaedam in monorepositorio (meae positionis currentis).

Priusquam incipiam: omne argumentum ad utrumque repositoriorum genus hic ponam. Opinor, nulla est ratio technica cur unum genus repositio super alterum eligas. Opus adire aliquem potes. De ea loqui gaudeo, sed non quaero rationibus technicis artificialibus cur unus alteri praestet.

Primae parti assentior Matthaei punctum;

Quia in scala monorepositorium solvet eadem omnia problemata quae polyrepositorium solvit, sed simul cogens ut codicem tuum arcte coniungas et incredibile nisus exigat ad augendam scalabilitatis tuae versionis ditionem systematis.

Easdem quaestiones solvendas habebis quantumvis num eligat monorepositorium vel polyrepositorium. Quomodo me solvo? Quid est aditus ad updates? Retrorsum convenientiae? Crucis clientelas project? Quid styli architecti accepti sunt? Quomodo infrastructuram tuam administrare et fabricare probas? Elenchus perpetuus. Et omnia solves crescentibus. Nulla eget felis libero.

Argumentum Mattis mihi videtur simillimum opinionibus a multis fabrum (et curatoribus) observatum esse. Hoc accidit ex prospectu artificis operantis in componentis vel quadrigis operantis in componentibus. Audis omnia similia;

  • Codebase plenus est - Non opus est his omnibus junk.
  • Difficilius est probare quod totum hoc junk habeo probare quod non opus est.
  • Difficilius est elaborare cum clientibus externis.
  • Mihi opus est meae virtutis versionis systemata temperantia.

Nempe haec omnia iustificantur. Hoc in utroque casu accidit - in polyrepositorio meo junk meum habeo, praeter unum opus ad aedificandum... aliis junk etiam egere possum. Ita "simpliciter" instrumenta efficio quae totum consilium reprimunt. Vel fictum monorepositorium cum submodulibus creo. Hoc totum diem circumambulare potuimus. Sed argumentum Mattis puto principalem rationem deesse, quam ego graviter in favorem monorepositorii cassavi;

Communionem provocat et difficultates ostendit

Cum repositoria separamus, problema de facto coordinationis et diaphaneitatis creamus. Hoc respondet modo quod de iugis cogitamus (praesertim quomodo singula membra de illis cogitant): nos quidam componentes sumus. In relativa solitudo laboramus. Termini in quadrigis meis fixi ac componente(s) laboramus.

Cum architectura magis implicata fit, una turma eam solus administrare non potest. Perpauci fabrum totam rationem in suo capite habent. Dicamus te administrare partem communem A, quae a Teams B, C, D. Team A adhibetur, emendans, API emendans, et exsecutionem internam mutans. Quam ob rem mutationes retro non compatiuntur. Quid consilii habetis?

  • Invenies omnia loca ubi vetus API usurpatur.
  • Suntne loca ubi novi API adhiberi non possunt?
  • Potes figere et probare alia elementa fac ut non frangant?
  • Potestne haec teams probare mutationes tuas nunc?

Quaeso nota has quaestiones independentes repositorii generis esse. Oportet invenire Partes B, C et D. Oportet eos loqui, tempus invenies, priora intellige. Certe speramus te futurum esse.

Nemo vere hoc facere vult. Hoc est multus minus fun quam API damnatorum figens. Tota homo et nuntius est. In polyrepositorio solum mutare potes, da populo in ea parte laboranti (probabiliter non B, C vel D) recognoscendae, et progrediendi. Partes B, C et D modo manere possunt cum versione praesenti pro nunc. renovabuntur cum tuum genium intellegunt!

In monorepositorio, responsabilitas per defaltam mutatur. Team A mutat componentes et, nisi cavet, statim frangit B, C et D. Hoc ducit ad B, C et D ad ostium A ostendens, mirans cur Team A conventum fregit. Hoc docet A quod supra album meum praeterire non possunt. Debent loqui quid facturi sint. Possuntne B, C, D movere? Quid si B, C potest, nisi D ad latus effectus morum algorithmi veteris?

Tunc loqui debemus quomodo ex hoc situ exibimus;

  1. Suscipe pro multiplicibus APIs internis, et vetus algorithmum deprecatum notabis donec D eo uti desinas.
  2. Subsidium multiplex emissio versionum, unum cum vetere instrumento, unum cum novo.
  3. Mora remissionem mutationum A, donec B, C, D simul recipere possunt.

Dicamus nos elegisse 1 , aliquot APIs. In hoc codice fragmenta duo habemus. Vetus et novum. Satis commode in quibusdam adiunctis. Reprimimus vetus codicem retro in, deprecatum notare, et in remotione schedula cum D quadrigis consentire. Per se idem pro repositoriis poly et mono.

Plures versiones dimittere, ramo indigemus. Iam duo membra habemus - A1 et A2. Partes B, C utuntur A2, D utitur A1. Omnibus componentibus opus est ut ad liberationem parati sint quia securitatis updates et alia cimex figmenta requiri possunt antequam D progredi possunt. In polyrepositorio, hoc celare possumus in ramo longo vivo qui bonum sentit. In monorepositorio codicem novo modulo creari cogimur. Quadrigis D adhuc reddet mutationes componentes "vetus". Quisque videre potest pretium quod hic solvemus - iam bis tantum codicem habemus, et quaevis bug fixiones quae ad A1 et A2 applicant, utrique eorum applicare debent. Cum ramosa in polyrepositorio accedente, hoc latet post eligo cerasus. Sumptum inferiorem esse consideramus quia nulla duplicatio est. Ex parte practica, idem sumptus est: duos codes identificas, aedificabis, dimittis et servabis donec unam ex eis delere possis. Differentia est, quia cum monorepositorio hic dolor est directus et visibilis. Hoc peius est, ac bonum.

Demum ad tertium punctum venimus. Dimitte dilationem. Fieri potest ut mutationes ab A factae vitas Team A. Maximus emendare possint, sed non urgere. Modone moramur? In polyreposito, hoc ad artificium figendum impellimus. Profecto hoc ad Team D. narramus Modo in veteri versione manee donec prehendas! Hoc te erigit, ut timidum ludere possis. Team A pergit operari in componentibus, ignorans quod Team D versionem magis magisque utatur (quod est problema Team D, stulti sunt). Interim, Team D male de Team A habitus neglegentis erga codicem stabilitatis loquitur, si de eo omnino loquuntur. Menses pass. Denique Team D spectare statuit facultatem adaequationis, sed A solum plures mutationes habet. Quadrigis A vix meminit quando vel quomodo fregerunt D. Upgrada est acerbior et diutius capiet. Quo ulterius descendit ACERVUS prioratus. Usque ad diem, securitatem habemus exitus in A quod nos cogat facere ramum. Turma A redire in tempore debet, punctum invenire cum D stabilis esset, ibi quaestionem figere et ad solutionem aptare. Hoc facto electiones faciunt et longe pessimum est. Tamquam Team A et Team D bonum esse videtur, modo se invicem ignorare possumus.

In monorepositorio, tertia vere non est optio. Cogeris rem agere dupliciter. Sumptus videre debes duos ramos emissiones habens. Disce te custodire ab updates qui retrorsum compatibilitatem frangunt. Sed potissime: colloquium difficile vitare non potes.

In usu meo, cum iunctiones magnas possident, iam non potest totam rationem servare in animo, et quod maxima pars est. Discordiam visibilitatem emendare debes in systemate. Active operari debes ut iugis a partibus suis dispicias et opera aliorum iugis et consumers videas.

Ita, instrumenta creare potes quae problema polyrepositorium solvere conantur. Sed experientia mea docens continuam traditionem et automationem in magnis inceptis hoc mihi narrat: habitus habitus sine instrumentorum accessione est mores quos vis videre. Defectus polyrepositoriae est solitudo, id totum punctum. Defectus monorepositorii officiorum communis est et perspicuitatis, quod totum punctum est. Utrisque in vado creare instrumentum quod asperas oras expediet. Ut dux, omni tempore monorepositorium eligam quia instrumenta indigent ad culturam quam volo roborandam, et cultura ex parvis iudiciis et cotidiano labore manipulus venit.

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Qui sunt maximus fanaticus? Fautores:

  • Monorepo

  • rust

  • Recta capita / utrumque

33 utentes censuerunt. 13 Utentes abstinuerunt.

Source: www.habr.com

Add a comment