Voila: tus tsim tawm uas tau pib xa tawm tuaj yeem txuas los ntawm lub npe kev pabcuam (yuav ua li cas thiaj li tso cai nkag mus rau pawg, peb twb qhia) los ntawm koj lub desktop ntawm SFTP thiab kho cov cai yam tsis tau tos kom xa mus rau pawg.
Qhov no yog ib qho kev daws teeb meem tag nrho, tab sis los ntawm kev siv qhov pom nws muaj qhov tsis zoo:
qhov yuav tsum tau ua kom zoo dua daim ntawv Helm, uas ua rau nws nyuaj rau nyeem yav tom ntej;
tsuas yog siv tau los ntawm tus neeg siv qhov kev pabcuam;
koj yuav tsum nco ntsoov ces synchronize nws nrog lub zos directory nrog cov cai thiab cog lus rau Git.
2. Telepresence
Qhov project Kev sib cog lus tau paub ntev heev, tab sis peb, raws li lawv hais, "tsis tau nyob ib puag ncig los sim nws hauv kev xyaum." Txawm li cas los xij, kev thov tau ua tiav nws txoj haujlwm thiab tam sim no peb zoo siab los qhia peb cov kev paub dhau los, uas yuav muaj txiaj ntsig zoo rau cov neeg nyeem ntawm peb cov blog - tshwj xeeb tshaj yog vim tsis muaj lwm yam ntaub ntawv hais txog Telepresence ntawm lub hub tseem.
Nyob rau hauv luv luv, txhua yam muab tawm mus tsis yog li ntawd txaus ntshai. Peb tau tso tag nrho cov kev ua uas yuav tsum tau ua tiav ntawm ib feem ntawm tus tsim tawm hauv Helm daim ntawv teev cov ntaub ntawv hu ua NOTES.txt. Yog li, tom qab xa cov kev pabcuam rau Kubernetes, tus tsim tawm pom cov lus qhia rau kev tshaj tawm cov dev hauv zos hauv GitLab txoj haujlwm teev tseg:
Cov lus sib cav ntxiv yog xaiv tau. Yog tias peb qhov kev pabcuam cuam tshuam nrog thiab rau Kubernetes API ServiceAccount tsim, peb yuav tsum tau mount daim ntawv pov thawj / tokens ntawm peb lub desktop. Txhawm rau ua qhov no, siv qhov kev xaiv --mount=true (los yog --mount=/dst_path), uas yuav mount lub hauv paus (/) los ntawm Kubernetes thawv rau peb lub desktop. Tom qab ntawd, peb tuaj yeem (nyob ntawm OS thiab yuav ua li cas cov ntawv thov raug tso tawm) siv "cov yuam sij" los ntawm pawg.
Ua ntej, cia peb saib qhov kev xaiv thoob ntiaj teb tshaj plaws rau kev khiav daim ntawv thov - hauv Docker ntim. Ua li no peb yuav siv tus yuam sij --docker-run thiab mount lub directory nrog code rau hauv lub thawv: -v `pwd`:/app
Thov nco ntsoov tias qhov no xav tias khiav los ntawm qhov project directory. Daim ntawv thov code yuav raug muab tso rau hauv daim ntawv teev npe /app hauv ib lub thawv.
Tom ntej: -v /tmp/app/var/run/secrets:/var/run/secrets - txhawm rau txuas cov npe nrog daim ntawv pov thawj / lub cim rau hauv lub thawv.
Qhov kev xaiv no thaum kawg ua raws li cov duab hauv daim ntawv thov yuav khiav. NB: Thaum tsim cov duab, koj yuav tsum qhia meej CMD los yog ENTRYPOINT!
Dab tsi yuav tshwm sim tom ntej?
Hauv Kubernetes, rau qhov kev xa tawm, tus naj npawb ntawm replicas yuav raug hloov mus rau 0. Hloov chaw, yuav pib xa tawm tshiab - nrog lub thawv hloov pauv. backend.
2 lub thawv yuav tso tawm ntawm lub desktop: thawj zaug nrog Telepresence (nws yuav tso npe thov los ntawm / rau Kubernetes), qhov thib ob nrog daim ntawv thov tsim.
Yog tias peb ua haujlwm rau hauv lub thawv nrog daim ntawv thov, ces tag nrho cov ENV hloov pauv hloov los ntawm Helm thaum lub sijhawm xa mus yuav muaj rau peb, thiab txhua qhov kev pabcuam tseem yuav muaj. Txhua yam uas tseem tshuav yog hloov kho cov cai hauv koj nyiam IDE thiab txaus siab rau qhov tshwm sim.
Thaum kawg ntawm kev ua haujlwm, koj tsuas yog yuav tsum kaw lub davhlau ya nyob twg uas Telepresence tab tom khiav (tawm qhov kev sib tham nrog Ctrl + C) - Docker ntim yuav nres ntawm lub desktop, thiab hauv Kubernetes txhua yam yuav rov qab mus rau nws thawj lub xeev. Txhua yam uas tseem tshuav yog cog lus, teeb tsa MR thiab hloov mus rau kev tshuaj xyuas / sib koom ua ke / ... (nyob ntawm koj cov haujlwm ua haujlwm).
Tom qab tso tawm Telepresence yam tsis muaj kev xaiv --docker-run txhua qhov kev hloov pauv ib puag ncig yuav muaj nyob rau hauv lub davhlau ya nyob twg tam sim no, yog li daim ntawv thov yuav tsum tau muab tso rau hauv nws.