Tacaíocht do monorepo agus multirepo i werf agus cad a dhéanann an Chlárlann Docker leis

Tacaíocht do monorepo agus multirepo i werf agus cad a dhéanann an Chlárlann Docker leis

Pléadh ábhar mona-stór níos mó ná uair amháin agus, mar riail, is cúis le conspóid an-ghníomhach. Trí chruthú caoirigh mar uirlis foinse oscailte atá deartha chun feabhas a chur ar an bpróiseas chun cód iarratais a thógáil ó íomhánna Git to Docker (agus ansin iad a sheachadadh chuig Kubernetes), ní smaoinímid i bhfad ar an rogha is fearr. Maidir linne, tá sé bunscoile gach rud is gá a sholáthar do lucht tacaíochta tuairimí éagsúla (mura dtagann sé seo salach ar chiall choiteann, ar ndóigh).

Is sampla maith de seo é an tacaíocht a tugadh isteach le déanaí do mhona-repo i bhfoirgnimh. Ach ar dtús, déanaimis a dhéanamh amach conas a bhaineann an tacaíocht seo go ginearálta le werf a úsáid agus cad atá le déanamh ag Clárlann Docker leis ...

Saincheisteanna

A ligean ar a shamhlú a leithéid de chás. Tá go leor foirne forbartha ag an gcuideachta a oibríonn ar thionscadail neamhspleácha. Ritheann formhór na n-iarratas ar Kubernetes agus mar sin coimeádtar iad. Chun coimeádáin, íomhánna a stóráil, is gá duit clárlann (clárlann). Mar chlár den sórt sin, úsáideann an chuideachta Docker Hub le cuntas amháin COMPANY. Cosúil le formhór na gcóras stórála cód foinse, Ní cheadaíonn Docker Hub ordlathas stórtha neadaithe, mar COMPANY/PROJECT/IMAGE. Sa chás sin… conas is féidir leat feidhmchláir neamhmhonalitheacha a stóráil sa chlár leis an teorainn seo gan cuntas ar leith a chruthú do gach tionscadal?

Tacaíocht do monorepo agus multirepo i werf agus cad a dhéanann an Chlárlann Docker leis

B’fhéidir, go bhfuil an scéal a thuairiscítear eolach do dhuine go díreach, ach déanaimis machnamh ar an gceist maidir le stóráil iarratais a eagrú go ginearálta, i.e. gan tagairt don sampla thuas agus Docker Hub.

Réitigh

Má tá an t-iarratas monolithic, a thagann in aon íomhá amháin, ansin níl aon cheisteanna ann agus ní dhéanaimid ach na híomhánna a shábháil ar chlár coimeádán an tionscadail.

Nuair a chuirtear feidhmchlár i láthair mar chomhpháirteanna iolracha, micreasheirbhísí, ansin tá gá le cur chuige áirithe. Ar an sampla d’fheidhmchlár gréasáin tipiciúil ina bhfuil dhá íomhá: frontend и backend - is iad na roghanna féideartha:

  1. Stóráil íomhánna i stórtha neadaithe ar leith:

    Tacaíocht do monorepo agus multirepo i werf agus cad a dhéanann an Chlárlann Docker leis

  2. Stóráil gach rud i stór amháin, agus breithnigh an t-ainm íomhá sa chlib, mar shampla, mar seo a leanas:

    Tacaíocht do monorepo agus multirepo i werf agus cad a dhéanann an Chlárlann Docker leis

NB: I ndáiríre, tá rogha eile ann le coigilt i stórtha éagsúla, PROJECT-frontend и PROJECT-backend, ach ní mheasfaimid é mar gheall ar chastacht tacaíochta, eagrúcháin agus dáileadh cearta idir úsáideoirí.

tacaíocht werf

Ar dtús, bhí werf teoranta do stórtha neadaithe - go fortunately, tacaíonn an chuid is mó de na clárlanna leis an ngné seo. Ag tosú ón leagan v1.0.4-alfa.3, obair bhreise le clárlanna ina bhfuil ní thacaítear le neadú, agus tá Docker Hub ar cheann acu. Ón áit sin ar aghaidh, tá rogha ag an úsáideoir conas íomhánna feidhmchláir a stóráil.

Cur i bhfeidhm ar fáil mar chuid den rogha --images-repo-mode=multirepo|monorepo (réamhshocraithe multirepo, i.e. stóráil i stórtha neadaithe). Sainmhíníonn sé na patrúin trína stóráiltear íomhánna sa chlár. Is leor an modh atá ag teastáil a roghnú agus na horduithe bunúsacha á n-úsáid, agus fanfaidh gach rud eile gan athrú.

Toisc gur féidir an chuid is mó roghanna werf a shocrú athróga timpeallachta, i gcórais CI / CD, is gnách go bhfuil an modh stórála éasca le socrú cruinne don tionscadal ar fad. Mar shampla, i gcás GitLab ní gá ach athróg timpeallachta a chur leis sna socruithe tionscadail: Socruithe -> CI / CD -> Athróga: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

Má labhraímid faoi íomhánna a fhoilsiú agus feidhmchláir a rolladh amach (is féidir leat léamh faoi na próisis seo go mion sna hailt doiciméid ábhartha: Próiseas a fhoilsiú и Próiseas imscaradh), ansin is é an modh amháin a chinneann an teimpléad trína bhféadfaidh tú oibriú leis an íomhá.

Tá an diabhal sna sonraí

Is é an difríocht agus an deacracht is mó nuair a chuirtear modh stórála nua leis an gclárlann a ghlanadh (le haghaidh gnéithe purge a bhfuil tacaíocht acu ó fhaobhar, féach Próiseas glantacháin).

Nuair a bhíonn sé ag glanadh, cuireann werf san áireamh na híomhánna a úsáidtear i gcnuasaigh Kubernetes, chomh maith le polasaithe a chumraigh an t-úsáideoir. Tá beartais bunaithe ar chlibeanna a roinnt ina straitéisí. Straitéisí a dtacaítear leo faoi láthair:

  1. 3 straitéis atá nasctha le primitives Git mar chlib, brainse, agus tiomantas;
  2. 1 straitéis le haghaidh clibeanna saincheaptha treallach.

Sábhálaimid faisnéis faoin straitéis chlibe agus an íomhá á fhoilsiú i lipéid na híomhá deiridh. Is é an bhrí féin mar a thugtar air meta chlib - Ag teastáil chun cuid de na polasaithe a chur i bhfeidhm. Mar shampla, nuair a bhíonn brainse nó clib á scriosadh ó stór Git, tá sé loighciúil scriosadh gaolmhar gan úsáid íomhánna ón gclárlann, atá clúdaithe ag cuid dár mbeartais.

Nuair a shábháiltear i stór amháin (monorepo), sa chlib íomhá, chomh maith leis an meta chlib, is féidir ainm na híomhá a stóráil freisin: PROJECT:frontend-META-TAG. Chun iad a scaradh, níor thugamar isteach aon deighilteoir ar leith, ach go simplí chuireamar an luach riachtanach le lipéad na híomhá deiridh agus é á fhoilsiú.

NB: Má tá suim agat breathnú ar gach rud a thuairiscítear sa chód foinse werf, ansin is féidir an pointe tosaigh a bheith PR 1684.

San Airteagal seo, ní thabharfaimid aird níos mó ar fhadhbanna agus fírinniú ár gcur chuige: maidir le straitéisí clibeála, sonraí a stóráil i lipéid agus an próiseas foilsitheoireachta ina iomláine - déantar cur síos mionsonraithe ar seo go léir i dtuarascáil le déanaí le Dmitry Stolyarov: “Is é werf ár n-uirlis le haghaidh CI/CD i Kubernetes'.

Chun achoimre a dhéanamh

Ní raibh an easpa tacaíochta do chlárlanna neamhcheangailte ina fhachtóir blocála dúinn nó d'úsáideoirí werf ar a dtugtar dúinn - tar éis an tsaoil, is féidir leat clárlann íomhánna ar leith a ardú i gcónaí (nó aistriú chuig Clárlann Coimeádán coinníollach i Google Cloud) ... Mar sin féin, ba chosúil go raibh sé loighciúil deireadh a chur le srian den sórt sin le go mbeadh an uirlis níos áisiúla don phobal DevOps i gcoitinne. Agus é á chur i bhfeidhm, bhí an deacracht is mó le sárú againn maidir le meicníocht glanta chlár na gcoimeádán a athoibriú. Anois go bhfuil gach rud réidh, tá sé deas a thuiscint go bhfuil sé tar éis éirí níos éasca do dhuine, agus ní bheidh aon deacrachtaí suntasacha againn (mar phríomhfhorbróirí an tionscadail) chun tacú leis an ngné seo a thuilleadh.

Fan linn agus go han-luath inseoimid duit faoi nuálaíochtaí eile i caoirigh!

PS

Léigh freisin ar ár mblag:

Foinse: will.com

Add a comment