ProHoster > ΠΠ»ΠΎΠ³ > Kev tswj hwm > Kev them nyiaj yug rau monorepo thiab multirepo hauv werf thiab Docker Registry muaj dab tsi ua nrog nws
Kev them nyiaj yug rau monorepo thiab multirepo hauv werf thiab Docker Registry muaj dab tsi ua nrog nws
Lub ntsiab lus ntawm monorepository tau tham ntau dua ib zaug thiab, raws li txoj cai, ua rau muaj kev sib cav heev. Tsim werf Raws li Open Source cuab yeej tsim los txhim kho cov txheej txheem ntawm kev tsim daim ntawv thov code los ntawm Git rau hauv Docker dluab (thiab tom qab ntawd xa lawv mus rau Kubernetes), peb tsis xav ntau txog qhov kev xaiv twg yog qhov zoo tshaj. Rau peb, nws yog qhov tseem ceeb los muab txhua yam tsim nyog rau cov neeg txhawb nqa ntawm cov kev xav sib txawv (yog tias qhov no tsis cuam tshuam qhov kev xav, tau kawg).
Tsis ntev los no qhia txog kev txhawb nqa rau mono-repo hauv werf yog ib qho piv txwv zoo ntawm qhov no. Tab sis ua ntej, cia peb xav seb qhov kev txhawb nqa no feem ntau cuam tshuam li cas rau kev siv werf thiab dab tsi Docker Registry tau ua nrog nws ...
Teeb meem
Cia peb xav txog qhov xwm txheej no. Lub tuam txhab muaj ntau pab pawg txhim kho ua haujlwm ntawm cov haujlwm ywj pheej. Cov ntawv thov feem ntau ua haujlwm hauv Kubernetes thiab, raws li, tau ntim khoom. Txhawm rau khaws cov ntim khoom thiab cov duab, yuav tsum tau sau npe. Lub tuam txhab siv Docker Hub nrog ib tus as khauj xws li kev sau npe. COMPANY. Zoo ib yam li feem ntau qhov chaws qhov chaw cia khoom, Docker Hub tsis tso cai rau koj los tsim ib qho kev sib koom ua ke ntawm cov chaw cia khoom, zoo li COMPANY/PROJECT/IMAGE. Nyob rau hauv cov ntaub ntawv no ... yuav ua li cas peb khaws cov ntaub ntawv uas tsis yog-monolithic nyob rau hauv lub npe nrog cov kev txwv no yam tsis tau tsim ib tug cais account rau txhua qhov project?
Tej zaum qhov xwm txheej tau piav qhia yog paub rau ib tus neeg ua ntej, tab sis cia peb saib qhov teeb meem ntawm kev teeb tsa daim ntawv thov cia feem ntau, i.e. yam tsis siv rau cov piv txwv saum toj no thiab Docker Hub.
Kev daws teeb meem
Yog daim ntawv thov monolithically, los hauv ib daim duab, ces tsis muaj lus nug tshwm sim thiab peb tsuas yog khaws cov duab rau hauv qhov project lub thawv npe.
Thaum ib daim ntawv thov raug nthuav tawm ua ntau yam, microservices, ces koj yuav tsum xaiv ib txoj hauv kev. Siv cov piv txwv ntawm ib daim ntawv thov web uas muaj ob daim duab: frontend ΠΈ backend - Cov kev xaiv tau yog:
3 lub tswv yim hais txog Git primitives xws li tag, ceg thiab cog lus;
1 lub tswv yim rau kev cai cim npe.
Peb khaws cov ntaub ntawv hais txog lub tswv yim tag thaum tshaj tawm cov duab hauv cov ntawv cim ntawm daim duab kawg. Lub ntsiab lus nws tus kheej yog lub thiaj li hu meta tag - tsim nyog rau kev siv qee txoj cai. Piv txwv li, thaum rho tawm ib ceg lossis tag los ntawm Git repository, nws yog qhov tsim nyog los rho tawm cuam tshuam tsis siv cov duab los ntawm kev sau npe, uas yog them los ntawm ib feem ntawm peb cov cai.
Thaum khaws cia hauv ib lub chaw khaws cia (monorepo), nyob rau hauv daim duab tag, ntxiv rau cov meta tag, lub npe ntawm daim duab kuj tuaj yeem khaws cia: PROJECT:frontend-META-TAG. Txhawm rau cais lawv, peb tsis tau qhia txog ib qho kev cais tshwj xeeb, tab sis tsuas yog ntxiv tus nqi tsim nyog rau daim ntawv lo ntawm daim duab kawg thaum luam tawm.