.NET Core kwiLinux, DevOps kwihashe

Siphuhlise iDevOps kangangoko sinako. Sasiyi-8, kwaye uVasya wayengoyena upholileyo kwiiWindows. Ngokukhawuleza uVasya wemka, kwaye ndandinomsebenzi wokuqalisa iprojekthi entsha eyayibonelelwa luphuhliso lweWindows. Xa ndalahla yonke i-stack yophuhliso lweWindows etafileni, ndaqonda ukuba le meko yayibuhlungu ...

Liqala ngolu hlobo ke ibali Alexandra Sinchinova phezu DevOpsConf. Xa ingcali yeWindows ekhokelayo ishiya inkampani, uAlexander wazibuza ukuba makenze ntoni ngoku. Tshintshela kwiLinux, kunjalo! UAlexander uya kukuxelela ukuba wakwazi njani ukwenza umzekelo kunye nokudlulisa inxalenye yophuhliso lweWindows kwiLinux esebenzisa umzekelo weprojekthi egqityiweyo yabasebenzisi bokugqibela be-100.

.NET Core kwiLinux, DevOps kwihashe

Uyihambisa njani iprojekthi ngokulula nangomzamo kwiRPM usebenzisa iTFS, iPuppet, Linux .NET core? Indlela yokuxhasa ukuguqulwa kwesiseko sedatha yeprojekthi ukuba iqela lophuhliso liva amagama athi Postgres kunye neFlyway okokuqala, kwaye umhla wokugqibela ngumhla emva kwengomso? Udityaniswa njani neDocker? Ubakhuthaza njani abaphuhlisi be-NET ukuba balahle iiWindows kunye neesmoothies bethanda iPuppet kunye neLinux? Ukusombulula njani ukungqubana kweengcamango ukuba akukho mandla, okanye umnqweno, okanye izixhobo zokugcina iWindows kwimveliso? Ngokumalunga noku, kunye ne-Web Deploy, ukuvavanywa, i-CI, malunga nezenzo zokusebenzisa i-TFS kwiiprojekthi ezikhoyo, kwaye, ngokuqinisekileyo, malunga neentonga eziphukileyo kunye nezisombululo zokusebenza, kwi-transcript yengxelo ka-Alexander.


Ngoko ke, uVasya washiya, umsebenzi uphezu kwam, abaphuhlisi balinde ngomonde ngeefolokhwe. Xa ekugqibeleni ndafumanisa ukuba uVasya akanakubuyiswa, ndaqalisa ishishini. Ukuqala, ndiye ndavavanya ipesenti yeWin VMs kwiinqanawa zethu. Amanqaku ayengahambelani neWindows.

.NET Core kwiLinux, DevOps kwihashe

Ekubeni siphuhlisa ngenkuthalo i-DevOps, ndaqonda ukuba kukho into efuna ukutshintshwa kwindlela yokuhambisa isicelo esitsha. Kwakukho isisombululo esinye - ukuba kunokwenzeka, dlulisela yonke into kwiLinux. UGoogle wandinceda - ngelo xesha .I-Net yayisele ifakwe kwi-Linux, kwaye ndaqonda ukuba esi sisisombululo!

Kutheni .NET undoqo ngokudibeneyo ne Linux?

Kwakukho izizathu ezininzi zoku. Phakathi "kokuhlawula imali" kunye "nokuhlawula", uninzi luya kukhetha okwesibini - njengam. Ilayisensi ye-MSDB ixabisa malunga ne-$1; ukugcina iqela lee-Windows oomatshini benyani kubiza amakhulu eedola. Kwinkampani enkulu le yindleko enkulu. Kunjalo ngoba konga - isizathu sokuqala. Ayisiyiyo eyona ibalulekileyo, kodwa enye yezona zibalulekileyo.

Oomatshini beWindows bathatha izixhobo ezininzi kunabazalwana babo beLinux - zinzima. Ngenxa yobungakanani benkampani enkulu, sikhethe iLinux.

Inkqubo idityaniswe ngokulula kwi-CI ekhoyo. Sizijonga njengeDevOps eqhubela phambili, sisebenzisa iBamboo, iJenkins kunye neGitLab CI, ke uninzi lomsebenzi wethu uqhutywa kwiLinux.

Isizathu sokugqibela ukukhapha olufanelekileyo. Kwakudingeka sinciphise umqobo wokungena kwi "escorts" -abafana abaqondayo inxalenye yezobugcisa, baqinisekise inkonzo engaphazamisekiyo, kwaye bagcine iinkonzo ezivela kumgca wesibini. Babesele beqhelene ne-Linux stack, ngoko kulula kakhulu kubo ukuba baqonde, baxhase kwaye bagcine imveliso entsha kunokuchitha izixhobo ezongezelelweyo ukuqonda ukusebenza okufanayo kwesofthiwe yeqonga leWindows.

iimfuno

Okokuqala kwaye ngaphambi kwento yonke - Uncedo lwesisombululo esitsha kubaphuhlisi. Ayizizo zonke ezazilungele utshintsho, ngakumbi emva kokuba kuthethwe igama elithi Linux. Abaphuhlisi bafuna i-Visual Studio yabo abayithandayo, i-TFS ene-autotests yeendibano kunye ne-smoothies. Indlela ukuhanjiswa kwemveliso kwenzeka ngayo ayibalulekanga kubo. Ke ngoko, sigqibe kwelokuba singayitshintshi inkqubo eqhelekileyo kwaye sishiye yonke into ingatshintshanga kuphuhliso lweWindows.

Iprojekthi entsha iyafuneka dibanisa kwiCI ekhoyo. Iireyili zazisele zikhona kwaye wonke umsebenzi kwakufuneka wenziwe kuthathelwa ingqalelo iiparamitha zenkqubo yolawulo lolungelelwaniso, imigangatho yonikezelo eyamkelekileyo kunye neenkqubo zokubeka iliso.

Ukulula kwenkxaso kunye nokusebenza, njengomqathango wobume obuncinane bokungena kubo bonke abathathi-nxaxheba abatsha abavela kumacandelo ahlukeneyo kunye nesebe lenkxaso.

Umhla wokugqibela - izolo.

Phumelela iQela loPhuhliso

Iqela le-Windows lalisebenza ngantoni ngoko?

.NET Core kwiLinux, DevOps kwihashe

Ngoku ndingatsho ngokuzithemba IdentityServer4 yindlela epholileyo yasimahla kwi-ADFS enobuchule obufanayo, okanye yintoni Undoqo weNkqubo-sikhokelo yeQumrhu - iparadesi yomphuhlisi, apho akudingeki ukuba ukhathazeke ngokubhala izikripthi ze-SQL, kodwa uchaze imibuzo kwisiseko sedatha ye-OOP. Kodwa ke, ngexesha lengxoxo yesicwangciso sokusebenza, ndajonga esi sitaki ngokungathi yi-cuneiform yaseSumerian, ndiqonda kuphela iPostgreSQL kunye neGit.

Ngelo xesha sasisebenzisa ngokukhutheleyo Ipopu njengenkqubo yolawulo loqwalaselo. Kwiiprojekthi zethu ezininzi sisebenzise IGitLab CI, elastic, iinkonzo ezilungeleleneyo zomthwalo ophezulu usebenzisa HAProxy esweni yonke into nge Zabbix, imithambo IGrafana ΠΈ Prometheus, Umzingeli, yaye konke oku kwakusonta kumaqhekeza entsimbi HPESXi phezu VMware. Wonke umntu uyayazi - iklasikhi yodidi.

.NET Core kwiLinux, DevOps kwihashe

Masijonge kwaye sizame ukuqonda ukuba kwakusenzeka ntoni phambi kokuba siqale onke la mangenelelo.

Kweneke ntoni

I-TFS yinkqubo enamandla enganikezeli kuphela ikhowudi evela kumphuhlisi ukuya kumatshini wokugqibela wemveliso, kodwa uneseti yokudibanisa okuguquguqukayo kunye neenkonzo ezahlukeneyo - ukubonelela nge-CI kwinqanaba le-cross-platform.

.NET Core kwiLinux, DevOps kwihashe
Ngaphambili, ezi yayiziifestile eziqinileyo. I-TFS isebenzise ii-arhente ezininzi zoKwakha, ezazisetyenziselwa ukudibanisa iiprojekthi ezininzi. I-arhente nganye inabasebenzi aba-3-4 ukufanisa imisebenzi kunye nokwandisa inkqubo. Ke, ngokwezicwangciso zokukhupha, i-TFS yazisa i-Build esanda kubhaka kwiseva yesicelo seWindows.

Yintoni ebesifuna ukuyizuza?

Sisebenzisa i-TFS kunikezelo kunye nophuhliso, kwaye siqhube isicelo kwiseva yeSicelo seLinux, kwaye kukho uhlobo oluthile lomlingo phakathi kwabo. Oku Ibhokisi leMicrosoft kwaye kukho ityuwa yomsebenzi ongaphambili. Phambi kokuba ndiyahlukanise, ndiza kuthabatha inyathelo ecaleni kwaye ndithethe amagama ambalwa malunga nesicelo.

Le projekthi

Isicelo sibonelela ngokusebenza kokuphatha amakhadi ahlawulwa kwangaphambili.

.NET Core kwiLinux, DevOps kwihashe

umxhasi

Kwakukho iindidi ezimbini zabasebenzisi. Eyokuqala ufumene ufikelelo ngokungena usebenzisa isiqinisekiso se-SSL SHA-2. U yesibini bekukho ukufikelela usebenzisa igama lokungena kunye negama lokugqitha.

HAProxy

Emva koko isicelo somthengi saya kwi-HAProxy, eyasombulula ezi ngxaki zilandelayo:

  • isigunyaziso sokuqala;
  • Ukupheliswa kwe-SSL;
  • ukulungiswa kwezicelo zeHTTP;
  • izicelo zosasazo.

Isatifikethi somthengi siqinisekisiwe ecaleni kwetsheyini. Thina - Igunya kwaye sinako ukufikelela oku, kuba thina ngokwethu sikhupha izatifikethi kubaxhasi benkonzo.

Nikela ingqalelo kwingongoma yesithathu, siza kubuyela kuyo kancinane.

Umva

Baceba ukwenza umva kwiLinux. I-backend isebenzisana nedathabheyisi, ilayisha uluhlu oluyimfuneko lwamalungelo kwaye emva koko, kuxhomekeke kukuphi na amalungelo omsebenzisi ogunyazisiweyo, unikezela ukufikelela ekusayineni amaxwebhu emali kwaye uwathumele ukuba aqhutywe, okanye avelise uhlobo oluthile lwengxelo.

Ukonga ngeHAProxy

Ukongeza kwimixholo emibini apho umxhasi ngamnye wayehamba ngayo, kwakukho kwakhona umxholo wesazisi. IdentityServer4 ikuvumela ukuba ungene, le yianalogue yasimahla kwaye inamandla ADFS - Iinkonzo zeFree Directory Federation.

Isicelo sesazisi siqhutywe ngamanyathelo amaninzi. Inyathelo lokuqala - umthengi wangena ngasemva, ethe yanxibelelana nalo mncedisi kwaye yajonga ubukho bophawu lomxhasi. Ukuba asifunyaniswanga, isicelo sibuyiselwe kumxholo esiphuma kuwo, kodwa ngokuthunyelwa kwakhona, kunye nokuhanjiswa kwakhona siye kwisazisi.

Inyathelo lesibini - isicelo samkelwa kwiphepha logunyaziso kwi-IdentityServer, apho umxhasi ubhalise khona, kunye nomqondiso ekudala ulindelwe wavela kwi-database ye-IdentityServer.

Inyathelo lesithathu - umxhasi uthunyelwe ngasemva kumxholo eyavela kuwo.

.NET Core kwiLinux, DevOps kwihashe

IdentityServer4 inophawu: ibuyisela impendulo kwisicelo sokubuyisela ngeHTTP. Kungakhathaliseki ukuba sinzima kangakanani ukuseta umncedisi, kungakhathaliseki ukuba sizikhanyisele kangakanani na amaxwebhu, ixesha ngalinye sifumana isicelo sokuqala somthengi nge-URL eza nge-HTTPS, kunye ne-IdentityServer ibuyisele umxholo ofanayo, kodwa nge-HTTP. Sothuka! Kwaye sidlulisele konke oku ngomxholo wesazisi kwi-HAProxy, kwaye kwiintloko kwafuneka siguqule i-protocol ye-HTTP kwi-HTTPS.

Yintoni uphuculo kwaye ugcine phi?

Sigcine imali ngokusebenzisa isisombululo sasimahla sokugunyazisa iqela labasebenzisi, izixhobo, kuba asizange sibeke i-IdentityServer4 njenge-node eyahlukileyo kwicandelo elahlukileyo, kodwa siyisebenzise kunye ne-backend kwiseva efanayo apho umva wesicelo uqhuba. .

Kufuneka isebenze njani

Ke, njengoko bendithembisile - Ibhokisi yomlingo. Sele siqonda ukuba siqinisekisiwe ukuya kwiLinux. Masenze imisebenzi ethile efuna izisombululo.

.NET Core kwiLinux, DevOps kwihashe

Upopathi uyabonakalisa. Ukuhambisa nokulawula inkonzo kunye nolungiselelo lwesicelo, iiresiphi ezipholileyo kufuneka zibhalwe. Umqulu wepensile ubonisa ngobuchule indlela eyenziwe ngokukhawuleza nangempumelelo ngayo.

Indlela yokuhambisa. Umgangatho yi-RPM. Wonke umntu uyaqonda ukuba kwiLinux awukwazi ukwenza ngaphandle kwayo, kodwa iprojekthi ngokwayo, emva kwendibano, yayiseti yeefayile zeDLL eziphunyeziweyo. Babemalunga ne-150 kubo, lo msebenzi wawunzima kakhulu. Ekuphela kwesisombululo esivumelanayo kukupakisha le yokubini kwi-RPM kwaye usebenzise isicelo kuyo.

Uguqulelo. Kwafuneka sikhuphe rhoqo, kwaye kwafuneka senze isigqibo malunga nendlela yokwenza igama lephakheji. Lo ngumbuzo wenqanaba lokudibanisa ne-TFS. Sasinearhente yokwakha kwiLinux. Xa i-TFS ithumela umsebenzi kumphathi - umsebenzi - kwi-arhente ye-Build, iphinda idlulisele iqela lezinto eziguquguqukayo eziphela kwindawo yenkqubo yomphathi. Ezi zintlukwano zemekobume ziqulathe igama loKwakha, igama loguqulelo, kunye nezinye iinguqu. Funda ngakumbi malunga nale nto kwicandelo elithi "Ukwakha iphakheji ye-RPM".

Ukumisela i-TFS yehla ukumisa iPipeline. Ngaphambili, siqokelele zonke iiprojekthi zeWindows kwiiarhente zeWindows, kodwa ngoku kuvela iarhente yeLinux - iarhente yoKwakha, ekufuneka ifakwe kwiqela lokwakha, iphuculwe ngezinto zakudala, kwaye ixelelwe ukuba loluphi uhlobo lweeprojekthi eziya kwakhiwa kule arhente yoKwakha. , kwaye ngandlela ithile ulungise iPipeline.

IdentityServer. I-ADFS ayisiyondlela yethu, siya kwi-Open Source.

Makhe siye ngokusebenzisa amacandelo.

Ibhokisi leMicrosoft

Ibandakanya iinxalenye ezine.

.NET Core kwiLinux, DevOps kwihashe

Linux Yakha iarhente. I-Linux, kuba siyakhela yona-isengqiqweni. Le nxalenye yenziwe ngamanyathelo amathathu.

  • Qwalasela abasebenzi yaye kungekuphela nje, ekubeni kwakulindelwe umsebenzi osasaziweyo kulo msebenzi.
  • Faka .NET Core 1.x. Kutheni 1.x xa 2.0 sele ikhona kwindawo yogcino eqhelekileyo? Ngenxa yokuba xa siqala ukuphuhliswa, inguqulo ezinzileyo yayiyi-1.09, kwaye kwagqitywa ukuba iprojekthi isekelwe kuyo.
  • IGit 2.x.

Uvimba we-RPM. Iipakethe zeRPM kufuneka zigcinwe kwenye indawo. Kwacingelwa ukuba siza kusebenzisa indawo yokugcina ye-RPM ekhoyo kuzo zonke iinginginya ze-Linux. Yiloo nto abayenzayo. Umncedisi wogcino uqwalaselwe web hook ekhuphele iphakheji ye-RPM efunekayo kwindawo ekhankanyiweyo. Uguqulelo lwephakheji luxelwe kwi-webhook ngummeli woKwakha.

I-GitLab. Ingqalelo! I-GitLab apha ayisetyenziswa ngabaphuhlisi, kodwa lisebe lemisebenzi ukulawula iinguqulelo zesicelo, iinguqulelo zephakheji, ukubeka esweni isimo sabo bonke oomatshini beLinux, kwaye igcina iresiphi - yonke iPuppet ibonakalisa.

Ipopu - isombulula yonke imiba ephikisanayo kwaye ihambisa ngqo ubumbeko esilufunayo kwiGitlab.

Siqala ukuntywila. Isebenza njani iDLL kwiRPM?

Ukuhanjiswa kwe-DDL kwi-RPM

Masithi sine-.NET yophuhliso lwe-rock star. Isebenzisa i-Visual Studio kwaye yenza isebe lokukhulula. Emva koko, ilayisha kwi-Git, kwaye iGit nantsi iqumrhu le-TFS, oko kukuthi, yindawo yokugcina isicelo apho umphuhlisi asebenza khona.

.NET Core kwiLinux, DevOps kwihashe

Emva koko i-TFS ibona ukuba isibophelelo esitsha sifikile. Yeyiphi i-app? Kuseto lwe-TFS kukho ileyibhile ebonisa ukuba zeziphi na izibonelelo i-arhente ethile yoKwakha enayo. Kule meko, ubona ukuba sakha iprojekthi ye-NET Core kwaye ikhetha i-arhente ye-Linux Build kwi-pool.

I-arhente yoKwakha ifumana imithombo kwaye ikhuphele imfuneko xho mekeke ukusuka kwindawo yokugcina .NET, npm, njl. kwaye emva kokwakha isicelo ngokwaso kunye nokupakishwa okulandelayo, thumela iphakheji ye-RPM kwindawo yokugcina i-RPM.

Kwelinye icala, oku kulandelayo kuyenzeka. Injineli yesebe lemisebenzi ibandakanyeka ngokuthe ngqo ekukhutshweni kweprojekthi: utshintsha iinguqulelo zeepakethi Hiera kwindawo yokugcina apho iresiphi yesicelo igcinwe, emva koko i-Puppet ibangela Yum, ilanda ipakethe entsha kwindawo yokugcina, kwaye inguqulelo entsha yesicelo ilungele ukusetyenziswa.

.NET Core kwiLinux, DevOps kwihashe

Yonke into ilula ngamazwi, kodwa kwenzeka ntoni ngaphakathi kwi-arhente yoKwakha ngokwayo?

Ukupakishwa kwe-DLL RPM

Ifunyenwe imithombo yeprojekthi kunye nomsebenzi wokwakha kwi-TFS. Iarhente yokwakha iqala ukwakha iprojekthi ngokwayo kwimithombo. Iprojekthi edibeneyo ifumaneka njengesethi DLL iifayile, ezipakishwe kwindawo yokugcina ye-zip ukunciphisa umthwalo kwindlela yefayile.

Uvimba we-ZIP ulahliwe kulawulo lolwakhiwo lwempahla yeRPM. Okulandelayo, iskripthi se-Bash siqalisa ukuguquguquka kokusingqongileyo, sifumana i-Build version, inguqulo yeprojekthi, indlela eya kuluhlu lokwakha, kwaye iqhube i-RPM-build. Nje ukuba ukwakhiwa kugqityiwe, iphakheji ipapashwa kuyo indawo yokugcina, ebekwe kwi-arhente yoKwakha.

Okulandelayo, ukusuka kwi-arhente yoKwakha ukuya kumncedisi kwindawo yokugcina ye-RPM Isicelo se-JSON sithunyelwe ebonisa igama loguqulelo kunye nokwakha. I-Webhook, endithethe ngayo ngaphambili, ikhuphela le phakheji kanye kwindawo yokugcina indawo kwi-arhente yoKwakha kwaye yenza ukuba indibano entsha ifumaneke ukuze kufakwe.

.NET Core kwiLinux, DevOps kwihashe

Kutheni le nto isikim sokuhanjiswa kwephakheji kwindawo yokugcina ye-RPM? Kutheni ndingakwazi ukuthumela ngokukhawuleza ipakethe edibeneyo kwindawo yokugcina? Inyaniso kukuba le yimeko yokuqinisekisa ukhuseleko. Lo mzekelo unciphisa amathuba okuba abantu abangagunyaziswanga balayishe iipakethe zeRPM kumncedisi ofikelelekayo kubo bonke oomatshini beLinux.

Uguqulelo lwesiseko sedatha

Ngokubonisana kunye neqela lophuhliso, kwavela ukuba abafana babesondele kwi-MS SQL, kodwa kwiiprojekthi ezininzi ezingezizo iiWindows sasisele sisebenzisa i-PostgreSQL ngamandla abo onke. Kuba besele sigqibe kwelokuba silahle yonke into ehlawulweyo, saqala ukusebenzisa iPostgreSQL apha.

.NET Core kwiLinux, DevOps kwihashe

Kule nxalenye ndifuna ukukuxelela indlela esiguqule ngayo isiseko sedatha kunye nendlela esikhethe ngayo phakathi kweFlyway kunye ne-Entity Framework Core. Makhe sijonge kwizinto ezilungileyo kunye nezibi zabo.

ΠœΠΈΠ½ΡƒΡΡ‹

I-Flyway ihamba kuphela indlela enye, thina asinakubuya umva - oku kukusilela okubalulekileyo. Ungayithelekisa kunye neSikhokelo seQumrhu ngezinye iindlela - ngokumalunga nokulula komphuhlisi. Uyakhumbula ukuba sibeka le nto phambili, kwaye inqobo ephambili yayingatshintshi nantoni na kuphuhliso lweWindows.

NgeFlyway yethu uhlobo oluthile lwesonga lwalufunekaukuze abafana bangabhali SQL imibuzo. Basondele kakhulu ekusebenzeni ngokwemigaqo ye-OOP. Sabhala imiyalelo yokusebenza kunye nezinto zesiseko sedatha, savelisa umbuzo weSQL kwaye sawenza. Inguqulelo entsha yedatha ilungile, ivavanyiwe - yonke into ilungile, yonke into isebenza.

INkqubo yeSicwangciso seQumrhu ine-minus - phantsi kwemithwalo enzima yakha imibuzo yeSQL ephantsi, kunye nokutsalwa phantsi kwesiseko sedatha kunokubaluleka. Kodwa ekubeni singenayo inkonzo yomthwalo ophezulu, asiwubali umthwalo kumakhulu ee-RPS, siyamkele le mingcipheko kwaye sanikezela ngengxaki kuthi kwixesha elizayo.

ΠŸΠ»ΡŽΡΡ‹

Undoqo weNkqubo-sikhokelo yeQumrhu isebenza ngaphandle kwebhokisi kwaye kulula ukuyiphuhlisa, kunye neFlyway Idibanisa ngokulula kwi-CI ekhoyo. Kodwa siyenza ilungele abaphuhlisi :)

Inkqubo yokusonga

Upopathi ubona ukuba kuza utshintsho kuhlelo lwepakethe, kuquka leyo inoxanduva lokufuduka. Okokuqala, ifakela ipakethe equlethe izikripthi zokufuduka kunye nokusebenza okunxulumene nedatha. Emva koku, isicelo esisebenza kunye nesiseko sedatha siqalwa kwakhona. Okulandelayo kuza ukufakwa kwamacandelo aseleyo. Ulandelelwano apho iipakethe zifakwe khona kunye nezicelo eziqaliswayo zichazwe kwiPuppet manifest.

Izicelo zisebenzisa idatha ebuthathaka, njengamathokheni, amagama agqithisiweyo edatha, konke oku kutsalwa kwi-config ukusuka kwiPuppet master, apho zigcinwe kwifom efihliweyo.

Iingxaki ze-TFS

Emva kokuba sithathe isigqibo saza saqonda ukuba yonke into isisebenzele ngokwenene, ndagqiba ekubeni ndijonge ukuba kuqhubeka ntoni ngeendibano zeTFS ngokubanzi kwisebe lophuhliso lweWin kwezinye iiprojekthi - nokuba sakha / sikhulula ngokukhawuleza okanye hayi, kwaye ufumanise iingxaki ezibalulekileyo ngesantya.

Enye yeeprojekthi eziphambili ithatha imizuzu eyi-12 ukuya kwe-15 ukuhlanganisana - ixesha elide, awukwazi ukuphila ngolo hlobo. Uhlalutyo olukhawulezayo lubonise ukutsalwa okubi kwi-I/O, kwaye oku kwakukwi-arrays.

Emva kokuyihlalutya icandelo ngecandelo, ndiye ndachonga iifoci ezintathu. Ekuqaleni - "Kaspersky antivirus", ejonga imithombo kuzo zonke iiarhente zoKwakha iiWindows. Isibini - Windows Isalathiso. Akuzange kukhubazwe, kwaye yonke into ifakwe kwi-indexed in real time kwi-Build agents ngexesha lenkqubo yokuthunyelwa.

Isithathu - Npm faka. Kuye kwavela ukuba kwiiPipelines ezininzi sisebenzise le meko kanye. Kutheni engendawo nje? Inkqubo yokuhlohla i-Npm iqhutywa xa umthi wokuxhomekeka usenziwa iphakheji-lock.json, apho iinguqulelo zeepakethe eziya kusetyenziselwa ukwakha iprojekthi zirekhodwa. Icala elisezantsi kukuba i-Npm installer ikhupha iinguqulelo zamva nje zeepakethe ezivela kwi-Intanethi rhoqo, kwaye oku kuthatha ixesha elininzi kwimeko yeprojekthi enkulu.

Abaphuhlisi ngamanye amaxesha bavavanya kumatshini wasekhaya ukuvavanya indlela inxalenye ethile okanye iprojekthi epheleleyo isebenza ngayo. Ngamanye amaxesha kuye kwavela ukuba yonke into ipholile ekuhlaleni, kodwa badibanisa, bayisonga, kwaye akukho nto isebenzayo. Siqala ukufumanisa ukuba yintoni ingxaki - ewe, iinguqulelo ezahlukeneyo zeepakethi ezinokuxhomekeka.

Isisombululo

  • Imithombo engaphandle kwe-AV.
  • Khubaza isalathisi.
  • Yiya e npm ci.

Iinzuzo ze-npm ci kukuba thina Siqokelela umthi wokuxhomekeka kube kanye, kwaye sifumana ithuba lokubonelela ngomphuhlisi uluhlu lwangoku lwepakethe, anokulinge ngayo kwindawo ahlala kuyo kangangoko ethanda. Oku igcina ixesha abaphuhlisi ababhala ikhowudi.

Isimo

Ngoku kancinci malunga noqwalaselo logcino. Ngokwembali sisebenzisa Nexus yokulawula oovimba, kuquka I-REPO yangaphakathi. Lo vimba wangaphakathi uqulathe onke amacandelo esiwasebenzisela iinjongo zangaphakathi, umzekelo, ukuzijonga ngokuzibhalela.

.NET Core kwiLinux, DevOps kwihashe

Sikwasebenzisa NuGet, njengoko ine-caching engcono xa kuthelekiswa nabanye abaphathi bephakheji.

Isiphumo

Emva kokuba silungiselele ii-Agents zoKwakha, ixesha eliphakathi lokwakha lancitshiswa ukusuka kwimizuzu eyi-12 ukuya kwisi-7.

Ukuba sibala bonke oomatshini ebesinokuthi sisebenzise iWindows, kodwa sitshintshele kwiLinux kule projekthi, sigcine malunga ne-10 000 yeedola. Kwaye oko kuphela kwiilayisensi, kwaye ngaphezulu ukuba sithathela ingqalelo umxholo.

Izicwangciso

Kwikota elandelayo, sicwangcise ukusebenza ekwandiseni ukuhanjiswa kwekhowudi.

Ukutshintshela kumfanekiso weDocker owakhelwe ngaphambili. I-TFS yinto epholileyo eneeplagi ezininzi ezikuvumela ukuba udibanise kwiPipeline, kubandakanya indibano esekwe kwi-trigger, yithi, umfanekiso weDocker. Sifuna ukwenza esi siqhumiso sisenzela enye enye iphakheji-lock.json. Ukuba ukubunjwa kwamacandelo asetyenziselwa ukwakha iprojekthi ngandlela-thile kuyatshintsha, sakha umfanekiso omtsha weDocker. Kamva isetyenziselwa ukusasaza isikhongozeli kunye nesicelo esidityanisiweyo. Akunjalo ngoku, kodwa siceba ukutshintshela kwi-microservice architecture e-Kubernetes, ephuhlisa ngokukhutheleyo kwinkampani yethu kwaye sele ikhonza izisombululo zemveliso ixesha elide.

Isishwankathelo

Ndikhuthaza wonke umntu ukuba alahle iifestile, kodwa akunjalo kuba andazi ukuba ziphekwe njani. Isizathu kukuba uninzi lwezisombululo ze-Opensource zi Isitaki seLinux. Ingaba ulungile yonga kwizibonelelo. Ngokombono wam, ikamva lelezisombululo zoMthombo oVulekileyo kwiLinux enoluntu olunamandla.

Iprofayili yesithethi sika-Alexander Sinchinov kwiGitHub.

DevOps Conf yinkomfa yokudibanisa uphuhliso, uvavanyo kunye neenkqubo zokusebenza kwiingcali ziingcali. Kungenxa yoko le nto uAlexander wathetha ngayo? yaphunyezwa kwaye yasebenza, kwaye ngomhla wokwenziwa komsebenzi kwakukho ukukhutshwa okubili okuyimpumelelo. Vula I-DevOps Conf e-RIT++ Nge-27 kunye ne-28 kaMeyi kuya kubakho amatyala afanayo ngakumbi avela kubasebenzi. Usenako ukutsibela kwikhareji yokugqibela kwaye ngenisa ingxelo okanye uthathe ixesha lakho ukubhuka itikiti. Dibana nathi eSkolkovo!

umthombo: www.habr.com

Yongeza izimvo