Ahoana ny fananganana fampandrosoana an-trano feno amin'ny alΓ lan'ny DevOps - traikefa VTB

Miasa ny fomba fanao DevOps. Resy lahatra tamin'izany izahay rehefa nahena in-10 ny fotoana fametrahana ny famoahana. Ao amin'ny rafitra FIS Profile, izay ampiasainay ao amin'ny VTB, ny fametrahana izao dia maka 90 minitra fa tsy 10. Nihena ny fotoana fananganana famotsorana avy amin'ny tapa-bolana ka hatramin'ny roa andro. Nidina ho faran'izay kely ny isan'ny lesoka amin'ny fampiharana maharitra. Mba hialana amin'ny "asa tanana" sy hanafoanana ny fiankinan-doha amin'ny mpivarotra, dia tsy maintsy niasa tamin'ny tehina izahay ary nitady vahaolana tsy nampoizina. Eo ambanin'ny fanapahana dia misy tantara amin'ny antsipiriany momba ny fomba nananganantsika fampandrosoana anatiny feno.

Ahoana ny fananganana fampandrosoana an-trano feno amin'ny alΓ lan'ny DevOps - traikefa VTB
 

Prologue: DevOps dia filozofia

Nandritra ny taon-dasa, nanao asa be dia be izahay handaminana ny fampandrosoana anatiny sy ny fampiharana ny fomba fanao DevOps ao amin'ny VTB:

  • Nanamboatra dingana fampandrosoana anatiny izahay ho an'ny rafitra 12;
  • Nandefa fantsona 15 izahay, ny efatra tamin'izy ireo dia nentina tamin'ny famokarana;
  • Toe-javatra fitsapana 1445 mandeha ho azy;
  • Nahitam-pahombiazana ny famoahana maromaro nomanin'ny ekipa an-trano izahay.

Ny iray amin'ireo sarotra indrindra amin'ny fandaminana ny fampandrosoana an-trano sy ny fampiharana ny fomba amam-panao DevSecOps dia ny rafitra FIS Profile - mpanamboatra vokatra antsinjarany amin'ny DBMS tsy mifandray. Na izany aza, afaka nanangana ny fampandrosoana izahay, nanokatra ny fantsona, nametraka fonosana tsy misy famoahana manokana amin'ny vokatra, ary nianatra ny fomba fanangonana famoahana. Tsy mora ny asa, fa mahaliana ary tsy misy fameperana mazava amin'ny fampiharana: eto ny rafitra - mila manangana fampandrosoana an-trano ianao. Ny hany fepetra dia ny fampiasana ny CD alohan'ny tontolo mamokatra.

Tamin'ny voalohany, ny algorithm fampiharana dia toa tsotra sy mazava:

  • Mamolavola fahaiza-manao amin'ny fampandrosoana voalohany izahay ary mahatratra ny haavon'ny kalitao azo ekena avy amin'ny ekipa kaody tsy misy kilema lehibe;
  • Miditra amin'ny dingana efa misy araka izay azo atao izahay;
  • Mba hamindrana kaody eo anelanelan'ny dingana mazava, dia nanapaka fantsona izahay ary manosika ny iray amin'ny tendrony mankany amin'ny tohiny.

Mandritra izany fotoana izany, ny ekipan'ny fampandrosoana amin'ny habeny takiana dia tsy maintsy mampivelatra fahaiza-manao ary mampitombo ny anjaran'ny fandraisany anjara amin'ny famoahana ho amin'ny ambaratonga azo ekena. Ary izay ihany, afaka mandinika ny asa vita isika.

Toa lalana mitsitsy tanteraka ny angovo mankany amin'ny vokatra ilaina izany: indro ny DevOps, indreto ny mari-pandrefesan'ny ekipa, indro ny fahaiza-manao voaangona... Fa raha ny fampiharana, dia nahazo fanamafisana hafa izahay fa mbola momba ny filozofia ny DevOps. , ary tsy "mifamatotra amin'ny fizotry ny gitlab, ansible, nexus ary ambany kokoa ny lisitra."

Rehefa avy nandinika indray ny drafitry ny hetsika izahay, dia nahatsapa fa nanangana karazana mpivarotra avy any ivelany izahay. Noho izany, ny reengineering dingana dia nampiana ny algorithm voalaza etsy ambony, ary koa ny fampandrosoana ny fahaiza-manao amin'ny lalana fampandrosoana manontolo mba hahazoana anjara toerana lehibe amin'ity dingana ity. Tsy ny safidy mora indrindra, fa ity no lalan'ny fampandrosoana marina ara-ideolojika.
 

Aiza no manomboka ny fampandrosoana an-trano? 

Tsy ny rafitra sariaka indrindra no niasa. Amin'ny lafiny ara-drafitra, dia DBMS lehibe iray tsy misy ifandraisany izy io, misy zavatra azo tanterahina (scripts, procedures, batches, sns.), izay nantsoina araka izay ilaina, ary niasa tamin'ny fitsipiky ny boaty mainty: mahazo fangatahana sy olana. valiny. Ny fahasarotana hafa tokony homarihina dia ahitana:

  • Fiteny vahiny (MUMPS);
  • Console interface tsara;
  • Ny tsy fahampian'ny fidirana amin'ireo fitaovana sy rafitra automatique malaza;
  • Ny habetsaky ny angona amin'ny terabytes am-polony;
  • Enta-mavesatra mihoatra ny 2 tapitrisa isan'ora;
  • Zava-dehibe - Business-Critical.

Nandritra izany fotoana izany, tsy nisy tahiry loharanon-kaody teo aminay. Na izany aza. Nisy ny antontan-taratasy, fa ny fahalalana fototra sy ny fahaiza-manao rehetra dia eo amin'ny lafiny fikambanana ivelany.
Nanomboka nifehy ny fivoaran'ny rafitra saika hatrany am-boalohany izahay, raha jerena ny endri-javatra sy ny fizarana ambany. Nanomboka tamin'ny Oktobra 2018:

  • Nianatra ny antontan-taratasy sy ny fototry ny famoronana kaody;
  • Nianatra ny fampianarana fohy momba ny fampandrosoana azo avy amin'ny mpivarotra izahay;
  • Nahafehy ny fahaiza-manao fampandrosoana voalohany;
  • Nanangona boky fanofanana ho an'ny mpikambana vaovao ao amin'ny ekipa izahay;
  • Nanaiky izahay hampiditra ny ekipa amin'ny fomba "ady";
  • Namaha ny olana tamin'ny fanaraha-maso ny kalitaon'ny kaody;
  • Nikarakara fijoroana ho an'ny fampandrosoana izahay.

Nandany telo volana namolavola fahaiza-manao sy niroboka tao amin'ny rafitra izahay, ary nanomboka tamin'ny fiandohan'ny taona 2019, ny fampandrosoana an-trano dia nanomboka ny hetsika ho amin'ny hoavy mamirapiratra, indraindray amin'ny fahasarotana, saingy am-pahatokiana sy tanjona.

Fifindra-monina sy autotests

Ny asa DevOps voalohany dia ny tahiry. Nanaiky haingana izahay tamin'ny fanomezana fidirana, saingy nilaina ny nifindra monina avy amin'ny SVN amin'izao fotoana izao miaraka amin'ny sampana vatan-kazo iray mankany amin'ny lasibatra Git miaraka amin'ny fifindrana ho modely amin'ny sampana maromaro sy ny fampandrosoana ny Git Flow. Manana ekipa 2 manana fotodrafitrasa manokana ihany koa izahay, miampy ampahany amin'ny ekipan'ny mpivarotra any ivelany. Tsy maintsy niaina niaraka tamin'ny Gits roa aho ary niantoka ny fampifanarahana. Amin'ny toe-javatra toy izany, dia kely kokoa noho ny roa ratsy.

Nahemotra imbetsaka ny fifindra-monina ny tahiry; vita tamin'ny volana aprily ihany izany, noho ny fanampian'ny mpiara-miasa avy amin'ny laharana voalohany. Miaraka amin'ny Git Flow, nanapa-kevitra izahay ny hanao zavatra tsotra ho fanombohana ary hiorina amin'ny rafitra mahazatra miaraka amin'ny hotfix, mivoatra ary mamoaka. Nanapa-kevitra ny handao ny tompony izy ireo (aka prod-like). Hazavaina eto ambany ny antony nahatonga ity safidy ity ho tsara indrindra ho antsika. Ny tahiry ivelany an'ny mpivarotra, mahazatra ho an'ny ekipa roa, dia nampiasaina ho mpiasa. Izy io dia mifanaraka amin'ny tahiry anatiny araka ny fandaharam-potoana. Ankehitriny miaraka amin'i Git sy Gitlab dia azo atao ny manao automatique ny fizotrany.

Ny olana momba ny autotest dia voavaha mora foana - nomena rafitra efa vita izahay. Raha jerena ny mampiavaka ny rafitra, ny fiantsoana hetsika misaraka dia ampahany azo takarina amin'ny fizotran'ny raharaham-barotra ary tamin'izany fotoana izany dia natao ho fitsapana vondrona. Ny hany sisa tavela dia ny manomana ny angon-drakitra fitsapana sy mametraka ny filaharana tiana hiantsoana ny script sy ny fanombanana ny valiny. Rehefa feno ny lisitr'ireo toe-javatra, mifototra amin'ny antontan'isa momba ny asa, ny fitsikerana ny dingana sy ny fomba fiasa efa misy, dia nanomboka niseho ny fitsapana mandeha ho azy. Afaka manomboka manamboatra ny fantsona isika izao.

Ahoana izany: ny modely talohan'ny automatique

Ny maodely misy amin'ny fizotran'ny fampiharana dia tantara misaraka. Ny fanovana tsirairay dia nafindra tanana ho toy ny fonosana fametrahana fanampiny fanampiny. Manaraka izany dia ny fisoratana anarana amin'ny tanana ao Jira sy ny fametrahana manual momba ny tontolo iainana. Ho an'ny fonosana tsirairay dia toa mazava ny zava-drehetra, saingy tamin'ny fanomanana ny famoahana dia sarotra kokoa ny raharaha.

Ny fivoriambe dia natao tamin'ny ambaratongan'ny fanaterana tsirairay, izay zavatra tsy miankina. Ny fanovana rehetra dia fanaterana vaovao. Ankoatra ny zavatra hafa, ny dikan-teny teknika 60-70 dia nampiana tao amin'ny fonosana 10-15 amin'ny famoronana famoahana lehibe - dikan-teny azo rehefa manampy na manilika zavatra avy amin'ny famoahana ary maneho ny fiovan'ny varotra ivelan'ny famoahana.

Nifanindry ny zavatra tao anatin'ny fanaterana, indrindra tao amin'ny code executable, izay latsaky ny antsasany miavaka. Betsaka ny fiankinan-doha amin'ny kaody efa napetraka sy ny iray izay vao nomanina ny fametrahana azy. 

Mba hahazoana ny dikan-teny ilaina amin'ny kaody dia ilaina ny manaraka tsara ny lamina fametrahana, izay naverina nosoratana imbetsaka ny zavatra, in-10-12 eo ho eo.

Rehefa avy nametraka fonosana maromaro aho dia tsy maintsy nanaraka ny toromarika mba hanombohana ny fanovana. Ny famotsorana dia nanangona sy nametraka ny mpivarotra. Ny firafitry ny famoahana dia nohazavaina saika talohan'ny fotoana fampiharana, izay nahitana ny famoronana fonosana "decoupling". Vokatr'izany, ny ampahany manan-danja amin'ny famatsiana dia nifindra avy amin'ny famoahana ho amin'ny famotsorana miaraka amin'ny rambony "decouplings".

Ankehitriny dia mazava fa miaraka amin'ity fomba fiasa ity - ny fanangonana ny piozila famotsorana amin'ny ambaratonga fonosana - ny sampana tokana tokana dia tsy nanana dikany azo ampiharina. Ny fametrahana ny famokarana dia naharitra adiny iray sy sasany ka hatramin'ny adiny roa tamin'ny asa tanana. Tsara fa farafaharatsiny amin'ny ambaratonga installer dia voafaritra ny filaharan'ny fanodinana zavatra: ny saha sy ny rafitra dia nampidirina alohan'ny angon-drakitra ho azy ireo sy ny fomba fiasa. Na izany aza, tao anatin'ny fonosana misaraka ihany no niasa.

Ny vokatra lojika amin'ity fomba fiasa ity dia ny tsy fahampian'ny fametrahana tsy maintsy atao amin'ny endrika endrika miolakolaka amin'ny zavatra, fehezan-dalΓ na tsy ilaina, torolalana tsy hita ary tsy misy fiantraikany amin'ny zavatra iray, izay nesorina mafy taorian'ny famoahana azy. 

Fanavaozana voalohany: manaova fivoriambe sy fanaterana

Nanomboka tamin'ny fandefasana kaody amin'ny alalan'ny sodina manaraka ity lalana ity ny automatique:

  • Raiso ny fanaterana vita avy amin'ny fitahirizana;
  • Apetraho eo amin'ny tontolo voatokana;
  • Manaova autotest;
  • Tombanana ny valin'ny fametrahana;
  • Antsoy ity fantsona manaraka ity eo amin'ny sisin'ny baiko fitiliana.

Ny fantsona manaraka dia tokony hanoratra ny asa ao amin'ny Jira ary miandry ny baiko hozaraina amin'ny tadivavarana fitsapana voafantina, izay miankina amin'ny fotoana hanatanterahana ny asa. Trigger - taratasy momba ny fahavononana hanaterana ny adiresy nomena. Izany, mazava ho azy, dia tehina miharihary, saingy tsy maintsy nanomboka tany ho any aho. Tamin'ny Mey 2019, nanomboka tamin'ny fisavana ny tontolo iainantsika ny famindrana kaody. Nanomboka ny dingana, ny hany sisa tavela dia ny hitondra azy amin'ny endrika mendrika:

  • Ny fanovana tsirairay dia atao amin'ny sampana misaraka, izay mifanaraka amin'ny fonosana fametrahana ary mitambatra ao amin'ny sampana master kendrena;
  • Ny famotsorana ny fantsona dia ny fisehon'ny fanoloran-tena vaovao ao amin'ny sampana master amin'ny alΓ lan'ny fangatahana fanakambanana, izay nakaton'ny mpikarakara avy amin'ny ekipa an-trano;
  • Ampifandraisina indray mandeha isaky ny dimy minitra ny tahiry;
  • Manomboka ny fanangonana ny fonosana fametrahana - amin'ny fampiasana ny assembler azo avy amin'ny mpivarotra.

Taorian'izany dia efa nisy ny dingana efa misy mba hijerena sy hamindrana ny kaody, handefasana ny sodina ary hivory eo anilantsika.

Ity safidy ity dia natomboka tamin'ny volana Jolay. Ny fahasarotan'ny tetezamita dia niteraka tsy fahafaham-po teo amin'ny mpivarotra sy ny laharana voalohany, saingy tamin'ny volana manaraka dia nahavita nanala ny sisiny rehetra izahay ary nametraka dingana teo amin'ireo ekipa. Manao assemblΓ©e par commit sy livraison izahay izao.
Tamin'ny volana aogositra dia vitanay ny namita ny fametrahana voalohany fonosana misaraka amin'ny famokarana amin'ny alΓ lan'ny fantsonay, ary nanomboka tamin'ny Septambra, tsy an-kanavaka, ny fametrahana ny fonosana tsirairay tsy misy famoahana dia natao tamin'ny alΓ lan'ny fitaovana CD. Ho fanampin'izay, nahavita nahatratra anjara asa an-trano izahay tamin'ny 40% amin'ny famoronana famoahana miaraka amin'ny ekipa kely kokoa noho ny mpivarotra - fahombiazana azo antoka izany. Ny asa lehibe indrindra nijanona - mba hanangona sy hametraka ny famoahana.

Ny vahaolana farany: fonosana fametrahana mitambatra 

Takatsika tsara fa ny fanoratana ny torolalan'ny mpivarotra dia automatique be loatra; tsy maintsy nieritreritra indray ny fizotrany izahay. Niharihary ny vahaolana - mba hanangonana famatsiana mitambatra avy amin'ny sampana famotsorana miaraka amin'ireo zavatra rehetra amin'ny dikan-teny ilaina.

Nanomboka tamin'ny porofon'ny hevitra izahay: nanangona tanana ny fonosana famoahana araka ny votoatin'ny fampiharana taloha izahay ary nametraka izany tamin'ny tontolo iainantsika. Nitranga ny zava-drehetra, nivadika ho azo iainana ilay hevitra. Avy eo, namaha ny olana momba ny fanoratana ny fikandrana fanombohana izahay ary nampiditra azy ireo tao amin'ny commit. Nanomana fonosana vaovao izahay ary nanandrana izany tamin'ny tontolo fitsapana ho ampahany amin'ny fanavaozana contour. Nahomby ny fametrahana, na dia nisy fanehoan-kevitra marobe avy amin'ny ekipan'ny fampiharana aza. Fa ny tena zava-dehibe dia ny nahazoanay ny fahazoan-dΓ lana hiditra amin'ny famokarana amin'ny famoahana ny volana Novambra miaraka amin'ny fivoriambenay.

Iray volana mahery sisa no tavela, ny kojakoja nosafidian-tanana dia nanamarika mazava fa efa lany ny fotoana. Nanapa-kevitra ny hanao ilay fanorenana avy amin’ny sampana fanafahana izy ireo, nefa nahoana no tokony hosarahina? Tsy manana Prod-tahaka izahay, ary tsy tsara ny sampana efa misy - be dia be ny kaody tsy ilaina. Mila manapaka haingana ny prod-like isika, ary mihoatra ny telo arivo izany. Ny fanangonana amin'ny tanana dia tsy safidy mihitsy. Nanao sketch ny script izay mandeha amin'ny alΓ lan'ny diary fametrahana ny vokatra ary manangona commits amin'ny sampana izahay. Ny fanintelony dia niasa tsara izy io, ary taorian'ny "vita tamin'ny rakitra" dia vonona ny sampana. 

Nanoratra ny mpanamboatra anay manokana izahay ho an'ny fonosana fametrahana ary nahavita izany tao anatin'ny herinandro. Avy eo dia tsy maintsy nanova ny installer avy amin'ny fampiasa fototry ny rafitra izahay, satria open-source izy io. Taorian'ny fisavana sy fanovana maromaro, dia noheverina fa nahomby ny vokatra. Nandritra izany fotoana izany, ny endriky ny famoahana dia nisy endrika, ho an'ny fametrahana marina izay ilaina ny mampifanaraka ny faritra fitsapana amin'ny famokarana, ary nosoratana ho an'izany ny script manokana.

Mazava ho azy fa be dia be ny fanehoan-kevitra momba ny fametrahana voalohany, fa amin'ny ankapobeny dia niasa ny kaody. Ary taorian'ny fametrahana fahatelo dia nanomboka nijery tsara ny zava-drehetra. Ny fanaraha-maso ny famoronana sy ny fanaraha-maso ny dikan'ny zavatra dia nojerena manokana amin'ny fomba manual, izay amin'ity dingana ity dia tena marina.

Fanamby fanampiny dia ny habetsahan'ny tsy famoahana tsy maintsy nodinihina. Saingy niaraka tamin'ny sampana mitovy amin'ny Prod sy Rebase, nanjary mangarahara ny asa.

Voalohany, haingana ary tsy misy hadisoana

Nanatona ny famotsorana izahay tamin'ny toe-tsaina feno fanantenana ary mihoatra ny am-polony ny fametrahana mahomby amin'ny faritra samihafa. Fa ara-bakiteny iray andro talohan'ny fe-potoana, dia hita fa ny mpivarotra dia tsy nahavita ny asa fanomanana ny famoahana ny fametrahana amin'ny fomba ekena. Raha toa ka tsy mandeha ny fanangananay noho ny antony iray, dia hikorontana ny famoahana. Ankoatra izany, amin'ny alalan'ny ezaka ataontsika, izay tena tsy mahafinaritra. Tsy nanana fomba hihemotra izahay. Noho izany, nieritreritra safidy hafa izahay, nanomana drafitra hetsika ary nanomboka ny fametrahana.

Mahagaga fa ny famoahana manontolo, izay misy zavatra mihoatra ny 800, dia nanomboka tsara, tamin'ny voalohany ary tao anatin'ny 10 minitra monja. Nandany adiny iray izahay nijery ny diary nitadiavana fahadisoana, saingy tsy nahita na inona na inona.

Ny ampitson'iny manontolo dia nangina ny resaka famoahana: tsy misy olana amin'ny fampiharana, dikan-teny miolakolaka na kaody "tsy mety". Na dia somary hafahafa aza izany. Taty aoriana, nisy fanehoan-kevitra nipoitra, saingy raha oharina amin'ny rafitra hafa sy ny traikefa teo aloha, ny isa sy ny laharam-pahamehany dia ambany kokoa.

Ny vokatra fanampiny avy amin'ny vokatra mitambatra dia ny fitomboan'ny kalitaon'ny fivoriambe sy ny fitsapana. Noho ny fametrahana maro tamin'ny famoahana feno dia hita ara-potoana ny lesoka amin'ny fananganana sy ny lesoka amin'ny fametrahana. Ny fitsapana amin'ny fampandehanana famotsorana feno dia nahafahana namantatra ny lesoka teo amin'ny fifampikasihan'ny zavatra tsy niseho nandritra ny fametrahana fanampiny. Fahombiazana tokoa izany, indrindra noho ny fandraisanay anjara 57% tamin'ny famoahana.

Famintinana sy fehin-kevitra

Tao anatin'ny herintaona latsaka dia nahavita:

  • Manangana fampandrosoana anatiny feno amin'ny alΓ lan'ny rafitra exotic;
  • Esory ny fiankinan-doha amin'ny mpivarotra;
  • Alefaso ny CI/CD ho an'ny lova tena tsy mahafinaritra;
  • Hampiakatra ny dingana fampiharana amin'ny sehatra ara-teknika vaovao;
  • Mampihena be ny fotoana fametrahana;
  • Mampihena be ny isan'ny lesoka amin'ny fampiharana;
  • Ambarao amim-pahatokiana fa manam-pahaizana manokana momba ny fampandrosoana ianao.

Mazava ho azy fa ny ankamaroan'ny zavatra voalaza dia toa tsy misy dikany, fa ireo no mampiavaka ny rafitra sy ny fetran'ny dingana misy ao anatiny. Amin'izao fotoana izao, ny fiovana dia misy fiantraikany amin'ny vokatra sy serivisy IS Profile (kaonty master, karatra plastika, kaonty tahiry, escrow, fampindramam-bola), saingy mety ho azo ampiharina amin'ny IS izay ametrahana ny asa fampiharana ny fomba DevOps. Ny modely mitambatra dia azo averina soa aman-tsara ho an'ny fampiharana manaraka (anisan'izany ireo tsy navoaka) avy amin'ny fanaterana maro.

Source: www.habr.com

Add a comment