Monorepositories: tēnā, me

Monorepositories: tēnā, me

Te whakamaoritanga o te tuhinga kua whakaritea mo nga tauira akoranga "Nga mahi me nga taputapu DevOps" i roto i te kaupapa matauranga OTUS.

Me whiriwhiri koe i tetahi putunga kotahi na te mea ko te whanonga e whakatairangahia ana i roto i o roopu he maamaa me te kawenga tahi, ina koa ka tipu nga roopu. Ahakoa he aha, me haumi koe ki te taputapu taputapu, engari he pai ake mena ko te whanonga taunoa ko te whanonga e hiahia ana koe i roto i o whakahau.

He aha tatou e korero ai mo tenei?

I tuhia e Matt Klein te tuhinga "Monorepos: Tena koa kaua!"  (te tuhipoka a te kaiwhakamaori: whakamaoritanga i runga i a Habré “Monorepositories: tēnā kaua”). He pai ki ahau a Matt, ki taku whakaaro he tino mohio ia me panui koe i tana tirohanga. I tukuna e ia te pooti i runga i te Twitter:

Monorepositories: tēnā, me

Translation:
I tenei ra o te Tau Hou, ka tohe ahau mo te ahua o te whakahianga o nga monorepositories. 2019 i timata marie. I runga i te wairua o tenei, ka tukuna e ahau he rangahau ki a koe. Ko wai te hunga nanakia nui? Kaitautoko:
- Monorepo
- waikura
- He pooti he / e rua

Ko taku whakautu, "Ko au ano enei tangata." Engari i te korero mo te ahua o te waikura he tarukino, me titiro ki taku whakaaro he aha ia i he ai mo nga whare taonga kotahi. He iti mo koe. Ko ahau te CTO o te Chef Software. Tata ki te 100 nga miihini, he turanga waehere ka hoki mai mo te 11-12 tau, me nga hua matua e 4. Ko etahi o tenei waehere kei roto i te polyrepository (ko taku tuunga timatanga), ko etahi kei roto i te repository (ko taku tuunga o naianei).

I mua i taku tiimata: ko nga tautohetohe katoa ka tukuna e au ki konei ka pa ki nga momo putunga e rua. Ki taku whakaaro, karekau he take hangarau hei whiriwhiri i tetahi momo putunga ki runga ake i tetahi atu. Ka taea e koe te mahi i tetahi huarahi. E harikoa ana ahau ki te korero mo tena, engari kaore au e aro ki nga take hangarau hangai he pai ake tetahi ki tetahi.

E whakaae ana ahau ki te wahanga tuatahi o te korero a Matt:

Na te mea i te tauine, ka whakatauhia e te monorepository nga raru katoa ka whakatauhia e te polyrepository, engari i te wa ano ka akiaki koe ki te hono i to waehere me te hiahia kia kaha ki te whakanui ake i te tauineine o to punaha whakahaere putanga.

Me whakaoti e koe nga rapanga orite ahakoa ka kowhiria e koe he putunga kotahi, he polyrepository ranei. Me pehea e tuku ai i nga putanga? He aha to huarahi ki te whakahou? Hototahi whakamuri? Whakawhitihia nga whakawhirinakitanga kaupapa? He aha nga momo hoahoanga e whakaaetia ana? Me pehea e whakahaere ai koe i to hangahanga me te whakamatautau i nga hanganga? He mutunga kore te rarangi. A ka whakatauhia e koe i a koe e tipu ana. Karekau he tiihi kore utu.

Ki taku whakaaro he rite te tohenga a Matt ki nga tirohanga a te maha o nga miihini (me nga kaiwhakahaere) e whakaute ana ahau. Ka puta tenei mai i te tirohanga a te miihini e mahi ana i te waahanga, i te roopu ranei e mahi ana i te waahanga. Ka rongo koe i nga mea penei:

  • He nui te turanga waehere - kaore au e hiahia ki enei paraurehe katoa.
  • He uaua ake te whakamatautau na te mea me whakamatau ahau i enei parapara katoa kaore au e hiahia.
  • He uaua ake te mahi me nga whakawhirinakitanga o waho.
  • Kei te hiahia ahau ki taku ake punaha mana putanga mariko.

Ko te tikanga, he tika enei waahanga katoa. Ka puta tenei i roto i nga keehi e rua - kei roto i te polyrepository kei a au ake taku parapara, hei taapiri mo te mea e hiahiatia ana mo te hanga ... Ka hiahia ano ahau ki etahi atu parapara. Na ka "ngawari" ahau ki te hanga taputapu hei tirotiro i te kaupapa katoa. Ka hangaia ranei e ahau he monorepository rūpahu me nga submodules. Ka taea e matou te hikoi i tenei ra katoa. Engari ki taku whakaaro kua ngaro te tohenga a Matt i te take nui, i tino huri ahau ki te tautoko i te monorepository:

Ka whakapataritari i te whakawhitiwhiti korero me te whakaatu raruraru

Ina wehea e matou nga putunga, ka waihangahia e matou he raru o te ruruku me te maarama. Ka rite tenei ki te ahua o o maatau whakaaro mo nga roopu (ina koa te whakaaro o ia mema mo ratou): kei a matou te kawenga mo tetahi waahanga. Ka mahi motuhake matou. Kua whakatauhia nga rohe ki runga i taku roopu me nga waahanga e mahia ana e matou.

I te mea ka uaua ake te hoahoanga, karekau e taea e te roopu kotahi te whakahaere ko ia anake. He iti noa nga miihini kei a raatau te punaha katoa. Me kii kei te whakahaere koe i tetahi waahanga A tiritahi e whakamahia ana e nga Kapa B, C, me D. Kei te whakahou ano a Team A, te whakapai ake i te API, me te whakarereke i te whakatinanatanga o roto. Ko te mutunga, kaore nga huringa i te hototahi whakamuri. He aha nga tohutohu kei a koe?

  • Kimihia nga waahi katoa e whakamahia ana te API tawhito.
  • Есть ли места, где новый API нельзя использовать?
  • Ka taea e koe te whakatika me te whakamatautau i etahi atu waahanga kia kore ai e pakaru?
  • Ka taea e enei kapa te whakamatautau i o huringa inaianei?

Kia mahara ko enei patai he mea motuhake mai i te momo putunga. Me rapu koe i nga kapa B, C me D. Me korero koe ki a ratou, me rapu te wa, me mohio ki o raatau kaupapa matua. I te iti rawa e tumanako ana matou ka pai koe.

Kaore tetahi e tino hiahia ana ki te mahi i tenei. He iti ake te ngahau i te whakatika noa i te API kino. He tangata, he pokanoa. I roto i te polyrepository, ka taea e koe te whakarereke noa, hoatu ki nga tangata e mahi ana i taua waahanga (kaore pea ko B, C, D ranei) hei arotake, ka haere tonu. Ka taea e nga kapa B, C me D te noho me o raatau putanga o naianei mo tenei wa. Ka whakahoutia ratou ina mohio ratou ki to mohio!

I roto i te whare putunga kotahi, ka nukuhia te kawenga ma te taunoa. Ka huri a Kapa A i ta raatau waahanga, a, ki te kore e tupato, ka pakaru tonu a B, C me D. Ka puta mai a B, C me D ki te kuaha o A, me te whakaaro he aha te roopu A i pakaru ai te huihuinga. Ka whakaakona a A e kore e taea e ratou te peke i taku rarangi i runga ake nei. Me korero ratou mo ta ratou mahi. Ka taea e B, C me D te neke? Ka pewhea mehemea ka taea e B me C, engari he hononga tata a D ki tetahi paanga taha o te whanonga o te algorithm tawhito?

Na me korero tatou me pehea e puta ai tatou i tenei ahuatanga:

  1. Tautoko mo te maha o nga API o roto, ka tohu i te algorithm tawhito kua whakakorehia kia mutu ra ano te whakamahi a D.
  2. Tautoko mo nga putanga tuku maha, tetahi me te atanga tawhito, tetahi ki te mea hou.
  3. Whakaroa te tukunga o nga huringa a A kia taea e B, C, me D te whakaae i te wa kotahi.

Me kii kua tohua e matou 1, he maha nga API. I tenei take e rua nga waahanga o te waehere. Tawhito me te hou. He watea i etahi ahuatanga. Ka tirohia e matou te waehere tawhito ki roto, ka tohuhia kua whakakorehia, ka whakaae ki te rarangi tangohanga me te roopu D. He rite tonu mo nga putunga poly me te mono.

Hei tuku i nga putanga maha, me whai manga. Inaianei e rua nga waahanga - A1 me A2. Ko nga kapa B me C ka whakamahi i te A2 me te D ka whakamahi i te A1. Me noho reri nga waahanga katoa mo te tuku na te mea ka hiahiatia he whakahoutanga haumarutanga me etahi atu whakatikatika iro i mua i te neke whakamua a D. I roto i te polyrepository, ka taea e tatou te huna i tenei i roto i te manga roa e pai ana te ahua. I roto i te repository kotahi, ka akiakihia te waehere ki te hanga i roto i tetahi waahanga hou. Me huri tonu te kapa D ki te waahanga "tawhito". Ka taea e te katoa te kite i te utu e utua ana e matou i konei - kua rua ake te nui o te waehere inaianei, a ko nga whakatikanga iro e pa ana ki a A1 me A2 me uru ki a raatau e rua. Na te huarahi manga i roto i te polyrepository, ka huna tenei ki muri i te here-pick. Ki ta matou whakaaro he iti ake te utu na te mea karekau he taarua. Mai i te tirohanga whaitake, he rite tonu te utu: ka hanga e koe, ka tukuna, ka mau tonu kia rua nga turanga waehere rite tonu kia taea ra ano e koe te whakakore i tetahi. Ko te rereketanga ko te mea me te monorepository he tika tenei mamae ka kitea. He kino rawa atu tenei, he pai.

Ka mutu, ka tae ki te wahanga tuatoru. Tukua roa. Ko nga huringa ka mahia e A ka pai ake te oranga o te Kapa A. He mea nui, engari ehara i te mea ohorere. Ka taea e tatou te whakaroa noa? I roto i te polyrepository, ka panaia tenei ki te titi i te taonga. Ae ra kei te korero matou i tenei ki a Team D. Me noho noa ki te putanga tawhito kia mau ra ano koe! Ma tenei ka whakatau koe ki te takaro i te mataku. Kei te mahi tonu a Kapa A ki ta raatau waahanga, me te kore e aro ki te whakamahi a te Kapa D i te putanga tawhito ake (koira te raru o te Kapa D, he poauau ratou). I tenei wa, he kino te korero a te Kapa D mo te whakaaro kore o te Kapa A ki te whakapumautanga o te waehere, mena ka korero noa ratou. Ka hipa nga marama. Ka mutu, ka whakatau a Team D ki te titiro ki te ahua o te whakahou, engari ko A anake nga huringa. Karekau te kapa A e mahara ki te wa i pakaru ai a D. He mamae ake te whakapai ake, ka roa ake. Ka tukuna atu ki raro i te puranga matua. Tae noa ki te ra ka puta he take haumarutanga i roto i te A e kaha ana tatou ki te hanga peka. Me hoki te kapa A ki mua, ki te kimi i te waahi i noho pumau ai a D, whakatikahia te raru ki reira, kia rite mo te tuku. Koia te tino whiriwhiri a te tangata, a ko te mea tino kino rawa atu. Te ahua nei he pai mo te Kapa A me te Kapa D mena ka warewarehia tetahi ki tetahi.

I roto i te monorepository, ko te tuatoru kaore he whiringa. Ka kaha koe ki te whakahaere i te ahuatanga ma tetahi o nga huarahi e rua. Me kite koe i nga utu mo te rua o nga manga tuku. Ako ki te tiaki i a koe mai i nga whakahou ka pakaru te hototahi whakamuri. Engari ko te mea nui: e kore e taea e koe te karo i te whai i te aparauraa uaua.

Ki taku wheako, ka nui haere nga kapa, kua kore e taea te pupuri i te katoa o te punaha i roto i te hinengaro, koinei te mea nui. Me whakapai ake koe i te kitenga o te tautohetohe i roto i te punaha. Me kaha koe ki te mahi kia titiro atu nga roopu ki o raatau waahanga me te titiro ki nga mahi a etahi atu roopu me nga kaihoko.

Ae, ka taea e koe te hanga taputapu e ngana ana ki te whakaoti rapanga polyrepository. Engari ko taku wheako ki te whakaako i te tuku me te mahi aunoa i roto i nga umanga nui e kii mai ana ki ahau: ko te whanonga taunoa me te kore whakamahi taputapu taapiri ko te whanonga e tumanako ana koe kia kite. Ko te whanonga taunoa o te polyrepository he mokemoke, koinei te kaupapa katoa. Ko te whanonga taunoa o te repository kotahi he kawenga tahi me te maarama, koinei te kaupapa katoa. I nga wahanga e rua, ka hanga e ahau he taputapu hei whakaene i nga tapa taratara. Hei kaihautu, ka whiriwhiria e au he whare putunga kotahi i nga wa katoa na te mea me whakakaha nga taputapu i te ahurea e pirangi ana ahau, ka ahu mai te ahurea mai i nga whakatau iti me nga mahi a te roopu ia ra.

Ko nga kaiwhakamahi kua rehita anake ka uru ki te rangahau. Waitohu maitēnā.

Ko wai te hunga tino pukuriri? Kaitautoko:

  • Monorepo

  • waikura

  • He pooti he / e rua

33 nga kaiwhakamahi i pooti. 13 nga kaiwhakamahi i aukati.

Source: will.com

Tāpiri i te kōrero