ProHoster > Blog > Pulega > Lagolago mo monorepo ma multirepo i werf ma o le a le mea e fai i ai le Docker Registry
Lagolago mo monorepo ma multirepo i werf ma o le a le mea e fai i ai le Docker Registry
O le autu o le mono-repository ua sili atu ma le tasi na talanoaina ma, o se tulafono, e mafua ai feeseeseaiga malosi. E ala i le fatuina werf i le avea o se meafaigaluega tatala punaoa ua mamanuina e faʻaleleia ai le faagasologa o le fausiaina o le numera o talosaga mai Git i ata Docker (ona tuʻuina atu lea i Kubernetes), matou te le mafaufau tele po o le fea filifiliga e sili. Mo i matou, o le mea muamua e tuʻuina atu mea uma e manaʻomia mo tagata lagolago o manatu eseese (pe a le feteenaʻi lenei mea, ioe).
o le lagolago mono-repo talu ai nei a werf o se faʻataʻitaʻiga lelei o lenei. Ae muamua, seʻi o tatou vaʻai pe faʻafefea ona fesoʻotaʻi lenei lagolago i le faʻaaogaina o le werf ma le mea e fai e le Docker Registry ...
Mataupu
Seʻi mafaufau i se tulaga faapena. O le kamupani e tele au atinaʻe o loʻo galulue i galuega tutoʻatasi. Ole tele o talosaga e fa'aoga ile Kubernetes ma o lea e fa'aputuina. Ina ia teuina pusa, ata, e te manaʻomia se resitala (resitala). I le avea ai o se resitala, e faʻaaoga e le kamupani le Docker Hub ma se tala e tasi COMPANY. E tutusa ma le tele o faiga e teu ai code source, E le fa'atagaina e Docker Hub le fa'atulagaina o fa'aputuga fa'aputuga, pei o le COMPANY/PROJECT/IMAGE. I lena tulaga… e mafai faapefea ona e teuina ni talosaga e le-monolithic i totonu o le resitala ma lenei tapulaa e aunoa ma le fatuina o se teugatupe ese mo galuega taitasi?
Masalo, o le tulaga faʻamatalaina e masani lava i se tasi, ae seʻi o tatou mafaufau i le mataupu o le faʻatulagaina o le teuina o talosaga i le lautele, i.e. e aunoa ma se faʻamatalaga i le faʻataʻitaʻiga o loʻo i luga ma Docker Hub.
Tali
Afai o le talosaga monolithic, e sau i le ata e tasi, ona leai lea o ni fesili ma na o le teuina o ata i le resitala o pusa o le poloketi.
A tu'uina atu se talosaga o ni vaega se tele, microservices, ona manaʻomia lea o se auala patino. I luga o le faʻataʻitaʻiga o se 'upega tafaʻilagi masani e aofia ai ata e lua: frontend и backend - o avanoa e mafai ona:
Teu ata i fale teu fa'aputu eseese:
Teu mea uma i totonu o le fale e tasi, ma mafaufau i le igoa o le ata i le pine, mo se faʻataʻitaʻiga, e pei ona taua i lalo:
NB: O le mea moni, o loʻo i ai se isi filifiliga ma sefe i faleoloa eseese, PROJECT-frontend и PROJECT-backend, ae matou te le mafaufau i ai ona o le lavelave o le lagolago, faʻatulagaina ma le tufatufaina o aia i le va o tagata faʻaoga.
lagolago werf
I le taimi muamua, na faʻatapulaʻaina e le werf ia lava i fale teu oloa - o le mea e lelei ai, o le tele o resitala e lagolagoina lenei vaega. Amata mai le version v1.0.4-alpha.3, fa'aopoopo galuega fa'atasi ma resitara lea e le lagolagoina le ofaga, ma Docker Hub o se tasi oi latou. Mai lena taimi, e iai le filifiliga a le tagata faʻaoga i le auala e teu ai ata o talosaga.
Fa'atino avanoa i lalo o le filifiliga --images-repo-mode=multirepo|monorepo (tauaga multirepo, i.e. teuina i fale teu oloa). O loʻo faʻamalamalamaina mamanu e teu ai ata i totonu o le resitala. Ua lava le filifilia o le tulaga manaʻomia pe a faʻaaogaina tulafono faavae, ma o isi mea uma o le a tumau pea e le suia.
Ona o le tele o filifiliga werf e mafai ona seti fesuiaiga o le siosiomaga, i faiga CI / CD, o le auala e teu ai e masani ona faigofie ona seti i le lalolagi atoa mo le galuega atoa. Faataitaiga, i le tulaga o GitLab na'o le fa'aopoopoina o se suiga o le si'osi'omaga i fa'atulagaga o galuega: Fa'atonu -> CI / CD -> Fesuia'iga: WERF_IMAGES_REPO_MODE: multirepo|monorepo.
Afai tatou te talanoa e uiga i le lolomiina o ata ma le taʻavaleina o tusi talosaga (e mafai ona e faitau e uiga i nei faʻagasologa i auiliiliga i tusitusiga talafeagai: Fa'asalalau fa'agasologa и Fa'agasolo faiga), ona na'o le fa'ata'ita'iga lea e mafai ona e galue ai ma le ata.
O le tiapolo o loʻo i totonu o faʻamatalaga
O le eseesega ma le faigata tele pe a faʻaopoopoina se auala fou e teu ai o loʻo i le faagasologa o le faʻamamaina o le resitala (mo mea faʻamama e lagolagoina e werf, vaʻai Mea faʻamamaina).
Pe a faʻamamā, e amanaia e werf ata o loʻo faʻaaogaina i fuifui Kubernetes, faʻapea foʻi ma faiga faʻavae na faʻatulagaina e le tagata faʻaoga. O faiga fa'avae e fa'avae ile vaevaega o fa'ailoga ile ta'iala. Ta'iala lagolago i le taimi nei:
3 taʻiala e fesoʻotaʻi e Git primitives e pei ole tag, lala, ma tautinoga;
1 ta'iala mo fa'ailoga fa'apitoa.
Matou te faʻasaoina faʻamatalaga e uiga i le fuafuaga faʻailoga pe a lolomiina le ata i faʻailoga o le ata mulimuli. O le uiga lava ia e ta'u meta tag - Manaomia e faʻaaoga nisi o faiga faʻavae. Mo se faʻataʻitaʻiga, pe a tapeina se lala poʻo se pine mai se faleoloa Git, e talafeagai le tapeina o fesoʻotaʻiga le fa'aaogaina ata mai le resitala, o lo'o ufiufi e se vaega oa tatou faiga fa'avae.
Pe a fa'asaoina i totonu o se fale teu oloa (monorepo), i le faʻailoga ata, faʻaopoopo i le meta tag, o le igoa o le ata e mafai foi ona teuina: PROJECT:frontend-META-TAG. Ina ia vavaeeseina i latou, matou te leʻi faʻaofiina soʻo se vavaeesega patino, ae na o le faʻaopoopoina o le tau talafeagai i le igoa o le ata mulimuli pe a lolomiina.
NB: Afai e te fiafia e vaʻavaʻai i mea uma o loʻo faʻamatalaina i le werf source code, ona mafai lea o le amataga PR 1684.
I lenei tusiga, o le a le sili atu le gauai atu i faafitauli ma le faʻamaoniaina o la tatou auala: e uiga i le faʻailogaina o taʻiala, teuina o faʻamaumauga i igoa ma le faʻasalalauga atoa - o nei mea uma o loʻo faʻamatalaina auiliili i se lipoti lata mai e Dmitry Stolyarov: "werf o la matou meafaigaluega mo CI / CD i Kubernetes".
E aoteleina
O le leai o se lagolago mo resitala e leʻi faʻaogaina e leʻo se mea e taofia ai i matou poʻo le au faʻaoga werf ua matou iloa - pe a uma, e mafai lava ona e faʻatupuina se isi resitala ata (pe sui i se Container Registry i Google Cloud) ... Ae ui i lea, O le aveeseina o sea faʻatapulaʻa na foliga mai e talafeagai ina ia sili atu ona faigofie le meafaigaluega i le lautele o le DevOps community. I le fa'atinoina, na matou feagai ai ma le faigata tele i le toe fa'aogaina o le masini fa'amama resitala o pusa. I le taimi nei ua saunia mea uma, e manaia le iloa ua sili atu ona faigofie mo se tasi, ma o matou (o le au atinaʻe autu o le poloketi) o le a leai ni faʻafitauli faʻapitoa i le lagolagoina atili o lenei vaega.
Nofo faʻatasi ma i matou ma e le o toe mamao ae matou taʻu atu ia te oe e uiga i isi mea fou i totonu werf!