Ulwakha njani uphuhliso olupheleleyo lwangaphakathi lwendlu usebenzisa i-DevOps - amava e-VTB

I-DevOps iqhuba umsebenzi. Saqiniseka ngoku ngokwethu xa sanciphisa ixesha lokufakwa kokukhululwa ngamaxesha e-10. Kwinkqubo yeProfayili ye-FIS, esiyisebenzisayo kwi-VTB, ukufakela ngoku kuthatha imizuzu eyi-90 kune-10. Ixesha lokwakhiwa kokukhululwa liye lancipha ukusuka kwiiveki ezimbini ukuya kwiintsuku ezimbini. Inani leziphene ezizingileyo zokuphumeza lehlile laya kutsho kubuncinci. Ukuze sibaleke "kumsebenzi wezandla" kwaye siphelise ukuxhomekeka kumthengisi, kwafuneka sisebenze ngeentonga kwaye sifumane izisombululo ezingalindelekanga. Ngezantsi kokusikwa libali elineenkcukacha malunga nendlela esakha ngayo uphuhliso lwangaphakathi olupheleleyo.

Ulwakha njani uphuhliso olupheleleyo lwangaphakathi lwendlu usebenzisa i-DevOps - amava e-VTB
 

Intshayelelo: I-DevOps yintanda-bulumko

Kunyaka ophelileyo, senze umsebenzi omninzi ukuququzelela uphuhliso lwangaphakathi kunye nokuphunyezwa kwezenzo ze-DevOps kwi-VTB:

  • Sakhe iinkqubo zophuhliso lwangaphakathi kwiinkqubo ezili-12;
  • Siphehlelele imibhobho eli-15, emine kuzo yaveliswa;
  • I-automated 1445 yeemeko zovavanyo;
  • Siphumeze ngempumelelo inani lokukhutshwa okulungiselelwe ngamaqela angaphakathi.

Enye yezona zinto zinzima kakhulu ukuququzelela uphuhliso lwangaphakathi kunye nokuphunyezwa kwezenzo ze-DevSecOps zajika zaba yinkqubo yeProfayili ye-FIS - iprosesa yemveliso yokuthengisa kwi-DBMS engahambelaniyo. Nangona kunjalo, siye sakwazi ukwakha uphuhliso, sasungula umbhobho, ukufakela iipakethe ezingakhutshelwanga kwimveliso, kwaye safunda indlela yokudibanisa ukukhutshwa. Umsebenzi wawungelula, kodwa unomdla kwaye ngaphandle kwezithintelo ezicacileyo ekuphunyezweni: nantsi inkqubo - kufuneka wakhe uphuhliso lwangaphakathi. Ekuphela kwemeko kukusebenzisa iCD phambi kwendawo enemveliso.

Ekuqaleni, i-algorithm yokuphunyezwa ibonakala ilula kwaye icacile:

  • Siphuhlisa ubuchule bophuhliso lokuqala kwaye sifikelele kwinqanaba elamkelekileyo lomgangatho kwiqela lekhowudi ngaphandle kweziphene ezinzulu;
  • Sidibanisa kwiinkqubo ezikhoyo kangangoko;
  • Ukudlulisa ikhowudi phakathi kwezigaba ezicacileyo, sinqumle umbhobho kwaye sityhale enye yeziphelo zayo ekuqhubekeni.

Ngeli xesha, iqela lophuhliso lobungakanani obufunekayo kufuneka liphuhlise izakhono kunye nokwandisa isabelo segalelo layo ekukhutshweni kwinqanaba elamkelekileyo. Yiloo nto ke, sinokuwuthathela ingqalelo umsebenzi ogqityiweyo.

Kuya kubonakala ngathi le yindlela eyonga amandla ngokupheleleyo kwisiphumo esifunekayo: nantsi i-DevOps, nantsi imilinganiselo yokusebenza yeqela, nantsi ubuchule obuqokelelweyo ... Kodwa ekusebenzeni, sifumene enye isiqinisekiso sokuba i-DevOps isathetha ngefilosofi. , kwaye "engancanyathiselwe kwinkqubo yegitlab, ansible, nexus kwaye ezantsi kuluhlu."

Emva kokuba siphinde sahlalutya isicwangciso sokusebenza, safumanisa ukuba sakha uhlobo lomthengisi wangaphandle ngaphakathi kwethu. Ngoko ke, ukubuyiswa kwakhona kwenkqubo yongezwa kwi-algorithm echazwe ngasentla, kunye nokuphuhliswa kobuchule kunye nendlela yokuphuhlisa yonke indlela yokufezekisa indima ephambili kule nkqubo. Ayilona khetho lulula, kodwa le yindlela yophuhliso oluchanekileyo.
 

Luqala phi uphuhliso lwangaphakathi? 

Yayingeyiyo eyona nkqubo inobubele ukusebenza nayo. I-Architecturally, yayiyi-DBMS enye enkulu enganxulumenanga, iqulethwe kwizinto ezininzi ezahlukeneyo eziphunyeziweyo (izikripthi, iinkqubo, iibhetshi, njl.), ezazibizwa ngokuba ziyimfuneko, kwaye zasebenza kumgaqo webhokisi elimnyama: ifumana isicelo kunye nemiba. impendulo. Obunye ubunzima obufanele ukuqwalaselwa bubandakanya:

  • Ulwimi olungaqhelekanga (MUMPS);
  • Ujongano lweConsole;
  • Ukunqongophala kokudityaniswa kunye nezixhobo ezizenzekelayo ezizenzekelayo kunye nezicwangciso;
  • Umthamo wedatha kumashumi eeterabytes;
  • Umthwalo wemisebenzi engaphezulu kwezigidi ezi-2 ngeyure;
  • Ukubaluleka - Ishishini-Libalulekile.

Kwangaxeshanye, kwakungekho vimba wekhowudi yomthombo kwicala lethu. Kukonke. Kwakukho amaxwebhu, kodwa lonke ulwazi oluphambili kunye nobuchule babukwicala lombutho wangaphandle.
Saqala ukuqonda uphuhliso lwenkqubo phantse ukusuka ekuqaleni, sithathela ingqalelo iimpawu zayo kunye nokusabalalisa okuphantsi. Iqale ngo-Oktobha 2018:

  • Ufunde amaxwebhu kunye neziseko zokwenziwa kwekhowudi;
  • Sifunde ikhosi emfutshane yophuhliso efunyenwe kumthengisi;
  • Izakhono zophuhliso lokuqala;
  • Siqulunqe incwadi yoqeqesho yamalungu amatsha eqela;
  • Savuma ukubandakanya iqela kwimodi "yokulwa";
  • Kusonjululwe umba ngolawulo lomgangatho wekhowudi;
  • Siququzelele iqonga lophuhliso.

Sichithe iinyanga ezintathu siphuhlisa ubuchwephesha kwaye sizintywilisela kwinkqubo, kwaye ukusukela ekuqaleni kuka-2019, uphuhliso lwangaphakathi lwaqala intshukumo yalo ukuya kwikamva eliqaqambileyo, ngamanye amaxesha ngobunzima, kodwa ngokuzithemba nangeenjongo.

Ukufuduka kwendawo yokugcina kunye novavanyo oluzenzekelayo

Umsebenzi wokuqala we-DevOps yindawo yokugcina. Savumelana ngokukhawuleza ekunikezeni ukufikelela, kodwa kwakuyimfuneko ukufuduka kwi-SVN yangoku kunye nesebe le-trunk enye ukuya kwi-target yethu ye-Git kunye nokutshintshwa kwimodeli yamasebe amaninzi kunye nophuhliso lwe-Git Flow. Sikwanamaqela ama-2 aneziseko zawo, kunye nenxalenye yeqela lomthengisi phesheya. Kwafuneka ndihlale neeGits ezimbini kwaye ndiqinisekise ungqamaniso. Kwimeko enjalo, ubungendawo obungaphantsi kobubini.

Ukufuduka kwendawo yokugcina kwahlehliswa ngokuphindaphindiweyo; kwagqitywa kuphela ngo-Epreli, ngoncedo lwabalingane abavela kumgca wangaphambili. Nge-Git Flow, sigqibe kwelokuba sigcine izinto zilula ukuqalisa kwaye sizinze kwisikimu seklasikhi nge-hotfix, ukuphuhlisa kunye nokukhulula. Bagqiba kwelokuba bayilahle inkosi (eyayibizwa ngokuba yi-prod-like). Apha ngezantsi siza kuchaza ukuba kutheni olu khetho luye lwaba lolufanelekileyo kuthi. Uvimba wangaphandle ongowomthengisi, oqhelekileyo kumaqela amabini, wasetyenziswa njengomsebenzi. Ingqamanise novimba wangaphakathi ngokweshedyuli. Ngoku ngeGit kunye neGitlab kwakunokwenzeka ukwenza iinkqubo ngokuzenzekelayo.

Umba we-autotests wasonjululwa ngokumangalisayo ngokulula - sanikwa isakhelo esele silungile. Ukuthathela ingqalelo izinto ezikhethekileyo zenkqubo, ukubiza umsebenzi ohlukeneyo kwakuyinxalenye eqondakalayo yenkqubo yeshishini kwaye kwangaxeshanye yasebenza njengovavanyo lweyunithi. Konke okwakusele kukulungiselela idatha yovavanyo kunye nokuseta umyalelo ofunekayo wokubiza izikripthi kunye nokuvavanya iziphumo. Njengoko uluhlu lweemeko, ezenziwe ngokusekelwe kwizibalo zokusebenza, ukubaluleka kweenkqubo kunye nendlela ekhoyo yokubuyisela umva, izaliswe, iimvavanyo ezizenzekelayo zaqala ukubonakala. Ngoku sinokuqalisa ukwakha umbhobho.

Yayinjani: imodeli ngaphambi kokuzenzekelayo

Imodeli ekhoyo yenkqubo yokuphunyezwa libali elahlukileyo. Uhlengahlengiso ngalunye lwatshintshwa ngesandla njengephakheji yofakelo olwahlukileyo lofakelo. Okulandelayo kwavela ubhaliso lwezandla eJira kunye nofakelo lwezandla kwiindawo ezisingqongileyo. Kwiiphakheji zomntu ngamnye, yonke into yayibonakala icacile, kodwa ngokulungiselela ukukhululwa, izinto zazinzima ngakumbi.

INdibano yenziwa kwinqanaba lokuziswa komntu ngamnye, okwakuzizinto ezizimeleyo. Naluphi na utshintsho lunikezelo olutsha. Phakathi kwezinye izinto, iinguqulelo ze-60-70 zobugcisa zongezwa kwiipakethi ze-10-15 zokwakheka kokukhululwa okuphambili - iinguqulelo ezifunyenweyo xa zongeza okanye zingabandakanyi into ethile ekukhululweni kunye nokubonakalisa utshintsho kwiintengiso ngaphandle kokukhutshwa.

Izinto ezingaphakathi kunikezelo ziye zadityaniswa enye kwenye, ngakumbi kwikhowudi ephunyezwayo, ebingaphantsi kwesiqingatha esisodwa. Kwakukho ukuxhomekeka okuninzi kwikhowudi esele ifakiwe kunye naleyo ukufakela kwayo bekucwangcisiwe. 

Ukufumana inguqu efunekayo yekhowudi, kwakuyimfuneko ukuba ulandele ngokungqongqo umyalelo wofakelo, ngexesha apho izinto zibhalwe kwakhona ngokwenyama ngamaxesha amaninzi, ngamanye amaxesha angama-10-12.

Emva kokufaka ibhetshi yeepakethe, kuye kwafuneka ndilandele imiyalelo yokuqalisa useto. Ukukhululwa kwahlanganiswa kwaye kwafakwa ngumthengisi. Ukuqulunqwa kokukhululwa kwacaciswa phantse ngaphambi komzuzu wokuphunyezwa, obandakanya ukudalwa kweepakethe "zokudibanisa". Ngenxa yoko, inxalenye ebalulekileyo yempahla ihambe ukusuka ekukhululweni ukuya kukhulula kunye nomsila wayo "we-decouplings".

Ngoku kucacile ukuba ngale ndlela - ukudibanisa i-puzzle yokukhulula kwinqanaba lepakethe - i-master branch enye yayingenayo intsingiselo ebonakalayo. Ufakelo kwimveliso luthathe iyure enye enesiqingatha ukuya kwiiyure ezimbini zomsebenzi wezandla. Kulungile ukuba ubuncinci kwinqanaba le-installer umyalelo wokulungiswa kwezinto uchazwe: amasimi kunye nezakhiwo zafakwa phambi kwedatha kubo kunye neenkqubo. Nangona kunjalo, oku kusebenza kuphela kwiphakheji eyahlukileyo.

Isiphumo esinengqiqo sale ndlela yaba ziziphene zofakelo olusinyanzelo ngendlela yeenguqulelo ezigoso-goso zezinto, ikhowudi engafunekiyo, imiyalelo elahlekileyo kunye nokungachazwa kweempembelelo ezifanayo zezinto, eziye zapheliswa ngokukhawuleza emva kokukhululwa. 

Uhlaziyo lokuqala: ukuhlanganisa kunye nokuhanjiswa

Ukuzenzekela kwaqala ngokusasaza ikhowudi ngombhobho ngale ndlela:

  • Thatha ukuhanjiswa okugqityiweyo kwindawo yokugcina;
  • Yifake kwindawo ezinikeleyo;
  • Qhuba uvavanyo oluzenzekelayo;
  • Vavanya umphumo wofakelo;
  • Biza lo mbhobho ulandelayo kwicala lomyalelo wokuvavanya.

Umbhobho olandelayo kufuneka ubhalise umsebenzi kwiJira kwaye ulinde imiyalelo ukuba ihanjiswe kwiilophu zokuvavanya ezikhethiweyo, ezixhomekeke kwixesha lokuphunyezwa komsebenzi. I-trigger - ileta malunga nokulungela ukuhanjiswa kwidilesi enikiweyo. Oku, ngokuqinisekileyo, yayiyindlela ecacileyo, kodwa kwafuneka ndiqale ndaweni ithile. NgoMeyi ka-2019, ukuhanjiswa kwekhowudi kwaqala ngokujonga indawo esingqongileyo. Inkqubo iqalile, okushiyekileyo kukuyenza ibe kwimo endilisekileyo:

  • Uhlengahlengiso ngalunye lwenziwa kwisebe elahlukileyo, elihambelana nephakheji yokufakela kunye nokudibanisa kwi-master branch ekujoliswe kuyo;
  • I-pipeline launch trigger yimbonakalo yesibophelelo esitsha kwi-master branch ngokusebenzisa isicelo sokudibanisa, esivalwa ngabagcini beqela langaphakathi;
  • Iindawo zokugcina zilungelelaniswa kanye ngemizuzu emihlanu;
  • Indibano yephakheji yokufakela iqalisiwe - usebenzisa i-assembler efunyenwe kumthengisi.

Emva koko, kwakukho amanyathelo asele ekhona ukujonga nokudlulisa ikhowudi, ukuqalisa umbhobho kunye nokuhlanganisana kwicala lethu.

Olu khetho lwasungulwa ngoJulayi. Ubunzima benguqu bubangele ukunganeliseki phakathi komthengisi kunye nomgca ongaphambili, kodwa kwinyanga ezayo sakwazi ukususa yonke imiphetho enzima kunye nokuseka inkqubo phakathi kwamaqela. Ngoku sinendibano ngokuzibophelela kunye nokuhanjiswa.
Ngo-Agasti, sakwazi ukugqiba ukufakwa kokuqala kwephakheji eyahlukileyo kwimveliso kusetyenziswa umbhobho wethu, kwaye ukususela ngoSeptemba, ngaphandle kokukhetha, zonke iipakethi zofakelo ezingakhutshwanga zenziwe ngesixhobo sethu seCD. Ukongeza, sikwazile ukufezekisa isabelo semisebenzi yangaphakathi kwi-40% yokwakhiwa kokukhululwa kunye neqela elincinci kunomthengisi - oku kuyimpumelelo eqinisekileyo. Umsebenzi onzima kakhulu wasala - ukudibanisa kunye nokufaka ukukhululwa.

Isisombululo sokugqibela: iipakethe zokufakela ezongezelelweyo 

Sasiqonda kakuhle ukuba ukubhala imiyalelo yomthengisi yayiyinto ezenzekelayo; kwafuneka siphinde sicinge ngenkqubo ngokwayo. Isisombululo sasicacile - ukuqokelela unikezelo oluqokelelweyo oluvela kwisebe lokukhululwa kunye nazo zonke izinto zeenguqulelo ezifunekayo.

Saqala ngobungqina bengcamango: sihlanganise ngesandla iphakheji yokukhulula ngokwemixholo yokuphunyezwa kwangaphambili kwaye siyifake kwiindawo zethu. Yonke into yasebenza, lo mbono wabonakala uyasebenza. Emva koko, sisombulule umba wokubhala useto lokuqalisa kwaye sibabandakanye kwisivumelwano. Silungiselele iphakheji entsha kwaye sayivavanya kwiindawo zokuvavanya njengenxalenye yohlaziyo lwe-contour. Ukufakela kube yimpumelelo, nangona kukho uluhlu olubanzi lwezimvo ezivela kwiqela lokuphunyezwa. Kodwa eyona nto iphambili kukuba sinikwe imvume yokuya kwimveliso ngoNovemba kunye nendibano yethu.

Njengoko kwakusele isithuba esingaphezu kwenyanga, izinto ezazithatyathwe ngesandla zabonisa ngokucacileyo ukuba ixesha liyaphela. Bagqiba ekubeni benze eso sakhiwo sisuka kwisebe elikhululayo, kodwa kutheni sifanele sahlulwe? Asinayo iProd-like, kwaye amasebe asele ekhona akalunganga - zininzi iikhowudi ezingafunekiyo. Sifuna ngokungxamisekileyo ukusika izinto ezithandwa ngabantu, kwaye oku kungaphezu kwamawaka amathathu okuzinikela. Ukudibanisa ngesandla akusiyo inketho konke konke. Sizobile iskripthi esihamba kwilog yofakelo lwemveliso kwaye siqokelela ukuzibophelela kwisebe. Okwesithathu yasebenza ngokuchanekileyo, yaye emva “kokugqiba ngefayile” isebe lalisele lilungile. 

Sabhalela umakhi wethu wephakheji yokufakela kwaye sayigqiba ngeveki. Emva koko kuye kwafuneka ukuba siguqule isifakeli ukusuka kowona msebenzi uphambili wenkqubo, kuba ingumthombo ovulekileyo. Emva koluhlu lweetshekhi kunye nohlengahlengiso, umphumo wawuthathwa njengempumelelo. Okwangoku, ukubunjwa kokukhululwa kwathatha imilo, ukufakwa okuchanekileyo okwakuyimfuneko ukulungelelanisa isiphaluka sovavanyo kunye nemveliso enye, kunye neskripthi esahlukileyo sabhalwa kule nto.

Ngokwemvelo, kwakukho izimvo ezininzi malunga nofakelo lokuqala, kodwa ngokubanzi ikhowudi yasebenza. Kwaye emva kofakelo lwesithathu yonke into yaqala ukubonakala ilungile. Ulawulo lokuqulunqwa kunye noguqulelo lolawulo lwezinto lubekwe esweni ngokwahlukeneyo kwimo yezandla, ethe kweli nqanaba yayifanelekile.

Umceli-mngeni owongezelelekileyo yayilinani elikhulu lezinto ezingakhutshwayo ekwakufuneka zithathelwe ingqalelo. Kodwa ngesebe elifana ne-Prod kunye ne-Rebase, umsebenzi uye wacaca.

Okokuqala, ngokukhawuleza kwaye ngaphandle kweempazamo

Siye sasondela ekukhululweni sinesimo sengqondo esinethemba kunye nofakelo oluyimpumelelo olungaphezulu kweshumi elinesibini kwiisekethe ezahlukeneyo. Kodwa ngokoqobo ngosuku ngaphambi komhla wokugqibela, kwavela ukuba umthengisi wayengawugqibanga umsebenzi wokulungiselela ukukhutshwa kokufakwa ngendlela eyamkelekileyo. Ukuba ngenxa yesizathu esithile ukwakha kwethu akusebenzi, ukukhululwa kuya kuphazamiseka. Ngaphezu koko, ngemigudu yethu, nto leyo engathandekiyo. Sasingenayo indlela yokurhoxa. Ke ngoko, siye sacinga ngeendlela ezizezinye, salungiselela izicwangciso zokwenza kwaye saqalisa ukufakwa.

Okumangalisayo kukuba, ukukhutshwa okupheleleyo, okubandakanya izinto ezingaphezu kwe-800, kwaqala ngokuchanekileyo, okokuqala kunye nemizuzu eyi-10 kuphela. Sichithe iyure sijonga iinkuni sikhangela iimpazamo, kodwa asizange sizifumane.

Yonke imini elandelayo kwakukho ukuthula kwingxoxo yokukhupha: akukho ngxaki yokuphunyezwa, iinguqulelo ezigwenxa okanye ikhowudi "engafanelekanga". Kwakunzima ngandlel’ ithile. Kamva, amanye amagqabantshintshi avela, kodwa xa kuthelekiswa nezinye iinkqubo kunye namava angaphambili, inani labo kunye nokubaluleka kwazo kwakusezantsi kakhulu.

Isiphumo esongezelelweyo esivela kwisiphumo esongezelekayo ibe kukwanda komgangatho wokuhlanganisa kunye novavanyo. Ngenxa yofakelo oluninzi lokukhutshwa okupheleleyo, iziphene zokwakha kunye neempazamo zokuthunyelwa kwachongwa ngexesha elifanelekileyo. Uvavanyo kuhlengahlengiso olupheleleyo lwenze ukuba kube lula ukuchonga iziphene kwimpembelelo efanayo yezinto ezingakhange zivele ngexesha lofakelo olongezelelweyo. Ngokuqinisekileyo ibe yimpumelelo, ingakumbi xa sijonga igalelo lethu lama-57% ekukhululweni.

Iziphumo kunye nezigqibo

Ngaphantsi konyaka sikwazile uku:

  • Yakha uphuhliso lwangaphakathi olupheleleyo usebenzisa inkqubo yangaphandle;
  • Ukuphelisa ukuxhomekeka okubalulekileyo komthengisi;
  • Qalisa i-CI/CD yelifa elingenabubele kakhulu;
  • Ukuphakamisa iinkqubo zokuphunyezwa kwinqanaba elitsha lobugcisa;
  • Ukunciphisa kakhulu ixesha lokuthunyelwa;
  • Ukunciphisa kakhulu inani leempazamo zokuphunyezwa;
  • Ngokuzithemba zibhengeze njengengcali ekhokelayo yophuhliso.

Ngokuqinisekileyo, into eninzi echazwe ibonakala ngathi yi-crap, kodwa ezi ziimpawu zenkqubo kunye nokunciphisa inkqubo ekhoyo kuyo. Okwangoku, utshintsho oluchaphazelekayo lwe-IS Iimveliso zeProfayili kunye neenkonzo (ii-akhawunti ze-master, amakhadi eplastiki, ii-akhawunti zokulondoloza, i-escrow, iimali-mboleko zemali), kodwa ngokunokwenzeka indlela inokusetyenziswa kuyo nayiphi na i-IS apho umsebenzi wokuphumeza izenzo ze-DevOps umiselwe. Imodeli eyongezelekayo inokuphinda iphindwe ngokukhuselekileyo kuphunyezo olulandelayo (kubandakanywa nezingakhutshelwanga) kunikezelo oluninzi.

umthombo: www.habr.com

Yongeza izimvo