
Tha cuspair mono-repository air a dheasbad barrachd air aon uair agus, mar riaghailt, ag adhbhrachadh connspaid gu math gnĂŹomhach. Le bhith a 'cruthachadh mar inneal stòr fosgailte a chaidh a dhealbhadh gus pròiseas togail còd tagraidh bho ĂŹomhaighean Git to Docker (agus an uairsin gan lĂŹbhrigeadh gu Kubernetes), chan eil sinn aâ smaoineachadh mòran air dè an roghainn as fheĂ rr. Dhuinne, tha e bun-sgoile a h-uile dad a tha riatanach a thoirt do luchd-taic diofar bheachdan (mura h-eil seo a âdol an-aghaidh ciall cumanta, gu dearbh).
tha taic mono-repo werf o chionn ghoirid na dheagh eisimpleir de seo. Ach an toiseach, leig dhuinn a-mach mar a tha an taic seo sa chumantas co-cheangailte ri bhith aâ cleachdadh werf agus na tha aig ClĂ r an Docker ri dhèanamh leis ...
Iris
Smaoinich sinn air suidheachadh mar sin. Tha mòran sgiobaidhean leasachaidh aig aâ chompanaidh ag obair air pròiseactan neo-eisimeileach. Bidh aâ mhòr-chuid de thagraidhean aâ ruith air Kubernetes agus mar sin tha iad ann an soithichean. Gus soithichean, ĂŹomhaighean a stòradh, feumaidh tu clĂ r (clĂ radh). Mar chlĂ r mar sin, bidh aâ chompanaidh aâ cleachdadh Docker Hub le aon chunntas COMPANY. Coltach ris aâ mhòr-chuid de shiostaman stòraidh còd stòr, Chan eil Docker Hub aâ ceadachadh rangachd tasgaidh neadachaidh, Leithid COMPANY/PROJECT/IMAGE. Anns aâ chĂšis sin⌠ciamar as urrainn dhut tagraidhean neo-monolithic a stòradh sa chlĂ r leis aâ chuingealachadh seo gun a bhith aâ cruthachadh cunntas air leth airson gach pròiseact?

Is dòcha gu bheil an suidheachadh a chaidh a mhĂŹneachadh eòlach air cuideigin gu dĂŹreach, ach beachdaichidh sinn air a âcheist mu bhith aâ cur air dòigh stòradh tagraidh san fharsaingeachd, i.e. gun iomradh a thoirt air an eisimpleir gu h-Ă rd agus Docker Hub.
Fuasglaidhean
Ma tha an tagradh monolithic, aâ tighinn ann an aon ĂŹomhaigh, an uairsin chan eil ceistean ann agus bidh sinn dĂŹreach aâ sĂ bhaladh na h-ĂŹomhaighean gu clĂ r container aâ phròiseict.
Nuair a tha iarrtas air a thaisbeanadh mar ioma-phĂ irtean, meanbh-sheirbheisean, an uairsin tha feum air dòigh-obrach sònraichte. Air an eisimpleir de thagradh lĂŹn Ă bhaisteach anns a bheil dĂ ĂŹomhaigh: frontend и backend - Is iad na roghainnean a dhâ fhaodadh a bhith ann:
- Glèidh Ïomhaighean ann an stòran neadachaidh fa leth:

- Glèidh a h-uile cà il ann an aon stòr, agus beachdaich air ainm an Ïomhaigh san tag, mar eisimpleir, mar a leanas:

NB: Gu fÏrinneach, tha roghainn eile ann le sà bhaladh ann an diofar stòran, PROJECT-frontend и PROJECT-backend, ach cha bheachdaich sinn air air sgà th cho iom-fhillte 'sa tha taic, eagrachadh agus sgaoileadh chòraichean eadar luchd-cleachdaidh.
taic werf
An toiseach, bha werf ga chuingealachadh fhèin ri tasgaidhean neadachaidh - gu fortanach, tha aâ mhòr-chuid de chlĂ ran aâ toirt taic don fheart seo. A 'tòiseachadh bhon tionndadh , obair a bharrachd le clĂ ran anns a bheil chan eil taic ri neadachadh, agus tha Docker Hub mar aon dhiubh. Bhon Ă m sin air adhart, tha roghainn aig an neach-cleachdaidh mar a chumas iad ĂŹomhaighean an aplacaid a stòradh.
GnĂŹomhachadh ri fhaighinn fo roghainn --images-repo-mode=multirepo|monorepo (bunaiteach multirepo, i.e. stòradh ann an stòran neadachaidh). Bidh e aâ mĂŹneachadh nam pĂ train leis am bi ĂŹomhaighean air an stòradh sa chlĂ r. Tha e gu leòr am modh a tha thu ag iarraidh a thaghadh nuair a bhios tu aâ cleachdadh nan òrdughan bunaiteach, agus bidh a h-uile cĂ il eile gun atharrachadh.
Leis gum faodar aâ mhòr-chuid de roghainnean werf a shuidheachadh caochladairean Ă rainneachd, ann an siostaman CI / CD, mar as trice tha am modh stòraidh furasta a shuidheachadh gu cruinne airson a 'phròiseict gu lèir. Mar eisimpleir, ann an cĂšis GitLab dĂŹreach cuir caochladair Ă rainneachd ann an roghainnean aâ phròiseict: Roghainnean -> CI / CD -> caochlaidhean: WERF_IMAGES_REPO_MODE: multirepo|monorepo.
Ma bhruidhneas sinn mu bhith aâ foillseachadh ĂŹomhaighean agus aâ sgaoileadh thagraidhean (faodaidh tu leughadh mu na pròiseasan sin gu mionaideach anns na h-artaigilean sgrĂŹobhainnean iomchaidh: и ), an uairsin bidh am modh aâ dearbhadh an teamplaid a-mhĂ in leis an urrainn dhut obrachadh leis an ĂŹomhaigh.
Tha an diabhal anns na mion-fhiosrachadh
Is e an eadar-dhealachadh agus am prĂŹomh dhuilgheadas nuair a chuireas tu dòigh stòraidh Ăšr ris aâ chlĂ r a ghlanadh (airson feartan glanaidh le taic bho fheur, faic ).
Nuair a bhios tu aâ glanadh, bidh werf aâ toirt aire do na h-ĂŹomhaighean a thathas aâ cleachdadh ann an cruinneachaidhean Kubernetes, a bharrachd air poileasaidhean a shuidhich an neach-cleachdaidh. Tha poileasaidhean stèidhichte air roinneadh tagaichean gu ro-innleachdan. Ro-innleachdan le taic an-drĂ sta:
- 3 ro-innleachdan ceangailte le prĂŹomh-amasan Git leithid tag, meur, agus gealltanas;
- 1 ro-innleachd airson tagaichean gnĂ thaichte neo-riaghailteach.
SĂ bhailidh sinn fiosrachadh mun ro-innleachd tagaichean nuair a bhios sinn aâ foillseachadh an ĂŹomhaigh ann an bileagan na h-ĂŹomhaigh dheireannaich. Is e an ciall fhèin an rud ris an canar taga meta - Feum air cuid de na poileasaidhean a chur an sĂ s. Mar eisimpleir, nuair a sguabas tu Ă s meur no tag bho stòr Git, tha e loidsigeach cuir Ă s gun chleachdadh ĂŹomhaighean bhon chlĂ r, a tha còmhdaichte le pĂ irt de na poileasaidhean againn.
Nuair a thèid a shà bhaladh ann an aon stòr (monorepo), anns an taga Ïomhaigh, a bharrachd air an meta tag, faodar ainm na h-Ïomhaigh a stòradh cuideachd: PROJECT:frontend-META-TAG. Gus an dealachadh, cha tug sinn a-steach dealaiche sònraichte sam bith, ach dÏreach chuir sinn an luach riatanach ri bileag na h-Ïomhaigh dheireannaich nuair a chaidh fhoillseachadh.
NB: Ma tha Úidh agad coimhead air a h-uile dad a tha air a mhÏneachadh ann an còd stòr werf, faodaidh an t-à ite tòiseachaidh a bhith .
Anns an aiste seo, cha toir sinn barrachd aire do na duilgheadasan agus fÏreanachadh ar dòigh-obrach: mu bhith a 'tagadh ro-innleachdan, a' stòradh dà ta ann an bileagan agus a 'phròiseas foillseachaidh gu h-iomlan - tha seo uile air a mhÏneachadh gu mionaideach ann an aithisg o chionn ghoirid le Dmitry Stolyarov: "".
GeĂ rr-chunntas a thoirt air
Cha robh an dĂŹth taic do chlĂ ran neo-cheangailte na adhbhar bacadh dhuinne no don luchd-cleachdaidh fleasgaich as aithne dhuinn - Ă s deidh a h-uile cĂ il, faodaidh tu an-còmhnaidh clĂ r ĂŹomhaighean fa leth a thogail (no atharrachadh gu ClĂ r-gleidhidh Container ann an Google Cloud) ... Ach, bha coltas reusanta air toirt air falbh a leithid de chuingealachadh gus am biodh an inneal nas goireasaiche don choimhearsnachd DevOps san fharsaingeachd. Le bhith ga bhuileachadh, bha aâ phrĂŹomh dhuilgheadas againn ann a bhith ag ath-obrachadh inneal glanaidh clĂ r nan soithichean. A-nis gu bheil a h-uile cĂ il deiseil, tha e math a bhith mothachail gu bheil e air fĂ s nas fhasa do chuideigin, agus cha bhith sinn (mar phrĂŹomh luchd-leasachaidh a 'phròiseict) gu bheil duilgheadasan follaiseach sam bith againn ann a bhith a' toirt taic don fheart seo.
Fuirich còmhla rinn agus gu math luath innsidh sinn dhut mu innleachdan eile ann an !
PS
Leugh cuideachd air ar blog:
- ÂŤ";
- ÂŤ".
Source: www.habr.com


