Yadda ake gina cikakken ci gaban cikin gida ta amfani da DevOps - ƙwarewar VTB

Ayyukan DevOps suna aiki. Mun gamsu da wannan da kanmu lokacin da muka rage lokacin shigarwa sau 10. A cikin tsarin FIS Profile, wanda muke amfani da shi a VTB, shigarwa yanzu yana ɗaukar mintuna 90 maimakon 10. Lokacin ginawa ya ragu daga makonni biyu zuwa kwana biyu. Adadin lahanin aiwatarwa na ci gaba ya ragu zuwa kusan mafi ƙanƙanta. Don nisantar da "aikin hannu" da kuma kawar da dogara ga mai siyarwa, dole ne mu yi aiki tare da crutches kuma mu sami mafita marasa tsammani. A ƙasa da yanke shi ne cikakken labari game da yadda muka gina ci gaban ci gaba na ciki.

Yadda ake gina cikakken ci gaban cikin gida ta amfani da DevOps - ƙwarewar VTB
 

Gabatarwa: DevOps falsafa ce

A cikin shekarar da ta gabata, mun yi ayyuka da yawa don tsara ci gaban ciki da aiwatar da ayyukan DevOps a VTB:

  • Mun gina tsarin ci gaba na ciki don tsarin 12;
  • Mun kaddamar da bututun mai guda 15, hudu daga cikinsu an kawo su;
  • Yanayin gwaji na atomatik 1445;
  • Mun sami nasarar aiwatar da adadin sakin da ƙungiyoyin gida suka shirya.

Ɗaya daga cikin mafi wahala don tsara ci gaban cikin gida da aiwatar da ayyukan DevSecOps ya zama tsarin Bayanan martaba na FIS - mai sarrafa samfuran dillali akan DBMS marasa alaƙa. Duk da haka, mun sami damar gina ci gaban, ƙaddamar da bututun, shigar da fakitin da ba a saki ba a kan samfurin, kuma mun koyi yadda ake haɗa abubuwan da aka saki. Aikin bai kasance mai sauƙi ba, amma mai ban sha'awa kuma ba tare da hane-hane a cikin aiwatarwa ba: a nan ne tsarin - kana buƙatar gina ci gaba a cikin gida. Sharadi kawai shine a yi amfani da CD kafin yanayi mai albarka.

Da farko, algorithm aiwatarwa ya zama kamar mai sauƙi kuma bayyananne:

  • Muna haɓaka ƙwarewar haɓakawa ta farko kuma muna samun ingantaccen matakin inganci daga ƙungiyar lambar ba tare da babban lahani ba;
  • Muna haɗawa cikin hanyoyin da ake da su kamar yadda zai yiwu;
  • Don canja wurin lamba tsakanin matakan bayyane, mun yanke bututun kuma mu tura ɗayan ƙarshensa zuwa ci gaba.

A wannan lokacin, ƙungiyar ci gaba na girman da ake buƙata dole ne su haɓaka ƙwarewa kuma su haɓaka rabon gudummawar sa don sakewa zuwa matakin yarda. Kuma shi ke nan, za mu iya la'akari da aikin da aka kammala.

Zai yi kama da cewa wannan hanya ce mai amfani da makamashi gaba ɗaya zuwa sakamakon da ake buƙata: a nan ne DevOps, ga ma'aunin aikin ƙungiyar, ga ƙwarewar da aka tara ... Amma a aikace, mun sami wani tabbaci cewa DevOps har yanzu yana game da falsafanci. , kuma ba "haɗe zuwa tsarin gitlab, mai yiwuwa, nexus da ƙari ƙasa da jerin."

Bayan sake nazarin tsarin aiki, mun gane cewa muna gina wani nau'i na mai sayarwa a cikin kanmu. Sabili da haka, an ƙara sabunta tsarin aiki zuwa algorithm da aka kwatanta a sama, da kuma haɓaka ƙwarewa tare da dukan hanyar ci gaba don cimma babban matsayi a cikin wannan tsari. Ba zaɓi mafi sauƙi ba, amma wannan ita ce hanyar ingantaccen ci gaba ta akida.
 

A ina ake fara ci gaban cikin gida? 

Ba shine mafi kyawun tsarin abokantaka don aiki da shi ba. A tsarin gine-gine, babban DBMS ne wanda ba shi da alaƙa, ya ƙunshi abubuwa daban-daban da za a iya aiwatarwa (rubutun, matakai, batches, da sauransu), waɗanda aka kira kamar yadda ake buƙata, kuma suna aiki akan ka'idar akwatin baƙar fata: yana karɓar buƙatu da batutuwa. amsa. Sauran matsalolin da ya kamata a lura da su sun haɗa da:

  • Yare mai ban mamaki (MUMPS);
  • Na'ura mai ba da hanya tsakanin hanyoyin sadarwa;
  • Rashin haɗin kai tare da shahararrun kayan aikin sarrafa kansa da tsarin aiki;
  • Adadin bayanai a cikin dubun terabyte;
  • Load da ayyuka sama da miliyan 2 a kowace awa;
  • Muhimmanci - Kasuwanci-Mahimmanci.

A lokaci guda, babu wurin ajiyar lambar tushe a gefenmu. Kwata-kwata. Akwai takaddun bayanai, amma duk mahimman ilimi da ƙwarewa sun kasance a gefen ƙungiyar waje.
Mun fara fahimtar ci gaban tsarin kusan daga karce, la'akari da siffofinsa da ƙananan rarraba. An fara a watan Oktoba 2018:

  • Ya yi nazarin takaddun bayanai da abubuwan da suka dace na tsara code;
  • Mun yi karatun ɗan gajeren kwas a kan ci gaban da aka samu daga mai siyarwa;
  • Ƙwarewar ƙwarewar haɓaka ta farko;
  • Mun tsara littafin horarwa ga sabbin membobin kungiyar;
  • Mun yarda mu haɗa ƙungiyar a cikin yanayin "yaƙin";
  • An warware matsalar tare da sarrafa ingancin lambar;
  • Mun shirya tsayuwar ci gaba.

Mun shafe watanni uku don haɓaka gwaninta da kuma nutsar da kanmu a cikin tsarin, kuma daga farkon 2019, ci gaban cikin gida ya fara motsi zuwa makoma mai haske, wani lokaci tare da wahala, amma da tabbaci da manufa.

Ƙaurawar ma'ajiya da gwaje-gwajen auto

Aikin farko na DevOps shine wurin ajiya. Mun amince da sauri don samar da dama, amma ya zama dole mu yi ƙaura daga SVN na yanzu tare da reshen akwati ɗaya zuwa Git ɗinmu tare da sauyawa zuwa samfurin rassa da yawa da haɓakar Git Flow. Hakanan muna da ƙungiyoyi 2 masu kayan aikin kansu, da wani ɓangare na ƙungiyar masu siyarwa a ƙasashen waje. Dole ne in zauna tare da Gits biyu kuma in tabbatar da aiki tare. A cikin irin wannan yanayi, shi ne mafi ƙanƙanta na munanan abubuwa biyu.

An sake jinkirta ƙaura na ma'ajiyar; an kammala shi ne kawai a cikin Afrilu, tare da taimakon abokan aiki daga layin gaba. Tare da Git Flow, mun yanke shawarar kiyaye abubuwa masu sauƙi don farawa kuma mun daidaita kan tsarin gargajiya tare da hotfix, haɓakawa da saki. Sun yanke shawarar barin masters (aka prod-like). A ƙasa za mu bayyana dalilin da yasa wannan zaɓi ya zama mafi kyau a gare mu. An yi amfani da wurin ajiyar waje na mai siyarwa, gama gari ga ƙungiyoyi biyu, azaman ma'aikaci. Ya daidaita tare da ma'ajiyar ciki bisa ga jadawali. Yanzu tare da Git da Gitlab yana yiwuwa a sarrafa matakai.

An warware batun autotest da mamaki cikin sauƙi - an samar mana da tsarin da aka shirya. Yin la'akari da abubuwan da ke cikin tsarin, kiran aiki daban wani ɓangare ne mai fahimta na tsarin kasuwanci kuma a lokaci guda yana aiki azaman gwajin naúrar. Abin da ya rage shi ne shirya bayanan gwajin da saita tsarin da ake so na kiran rubutun da kimanta sakamakon. Kamar yadda jerin abubuwan da suka faru, waɗanda aka kafa bisa tushen kididdigar aiki, mahimmancin matakai da hanyoyin da ake bi na sake dawowa, sun cika, gwaje-gwaje na atomatik sun fara bayyana. Yanzu za mu iya fara gina bututun.

Yadda ya kasance: samfurin kafin aiki da kai

Samfurin da ke akwai na tsarin aiwatarwa wani labari ne daban. Kowane gyare-gyare an canja shi da hannu azaman fakitin ƙarawa daban. Na gaba ya zo rajistar hannu a Jira da shigar da hannu akan muhalli. Don fakitin mutum ɗaya, duk abin da ke bayyane, amma tare da shirye-shiryen sakin, abubuwa sun fi rikitarwa.

An gudanar da taro a matakin kai-da-kai, wanda abubuwa ne masu zaman kansu. Duk wani canji sabon bayarwa ne. Daga cikin wasu abubuwa, an ƙara nau'ikan fasaha na 60-70 zuwa fakitin 10-15 na babban abun da aka saki - nau'ikan da aka samu lokacin ƙarawa ko ban da wani abu daga sakin da kuma nuna canje-canjen tallace-tallace a waje.

Abubuwan da ke cikin isarwa sun yi karo da juna, musamman a cikin lambar aiwatarwa, wanda bai wuce rabi na musamman ba. Akwai dogaro da yawa duka akan lambar da aka riga aka shigar da kuma kan wanda aka tsara shigarsa kawai. 

Don samun sigar da ake buƙata na lambar, ya zama dole a bi tsarin shigarwa sosai, lokacin da aka sake rubuta abubuwa da yawa a zahiri sau 10-12.

Bayan shigar da tarin fakiti, dole ne in bi umarni da hannu don fara saitunan. Dillali ya tattara kuma ya shigar da sakin. An bayyana abun da ke cikin sakin kusan kafin lokacin aiwatarwa, wanda ya haifar da ƙirƙirar fakitin "decoupling". A sakamakon haka, wani muhimmin ɓangare na kayan aiki ya motsa daga saki zuwa saki tare da wutsiyarsa na "decouplings".

Yanzu ya bayyana a fili cewa tare da wannan hanya - harhada wasanin wasan wasan caca a matakin kunshin - reshe na master guda ɗaya ba shi da ma'ana mai amfani. Shigarwa akan samarwa ya ɗauki daga ɗaya da rabi zuwa sa'o'i biyu na aikin hannu. Yana da kyau cewa aƙalla a matakin mai sakawa an ƙayyade tsari na sarrafa abubuwa: an shigar da filayen da tsarin kafin bayanan su da hanyoyin. Koyaya, wannan kawai yayi aiki a cikin wani fakitin daban.

Sakamakon ma'ana na wannan hanya shine nakasar shigarwa na wajibi a cikin nau'i na nau'i na abubuwa na karkace, lambar da ba dole ba, umarnin ɓacewa da kuma tasirin abubuwan da ba a san su ba, wanda aka kawar da zazzaɓi bayan saki. 

Sabuntawa na farko: ƙaddamar da taro da bayarwa

An fara aiki ta atomatik ta hanyar aika lamba ta bututu ta wannan hanya:

  • Dauki isar da aka gama daga ajiya;
  • Shigar da shi a kan ƙayyadaddun yanayi;
  • Gudun autotest;
  • Yi kimanta sakamakon shigarwa;
  • Kira bututun mai zuwa a gefen umarnin gwaji.

Bututun na gaba yakamata ya yi rajistar aikin a Jira kuma jira umarnin da za a rarraba zuwa madaukakan gwaji da aka zaɓa, wanda ya dogara da lokacin aiwatar da aikin. Trigger - wasiƙar game da shirye-shiryen isarwa zuwa adireshin da aka bayar. Wannan, ba shakka, ya kasance a sarari, amma dole in fara wani wuri. A cikin Mayu 2019, an fara canja wurin lambar tare da duba mahallin mu. Tsarin ya fara, abin da ya rage shi ne a kawo shi cikin siffa mai kyau:

  • Ana yin kowane gyare-gyare a cikin wani reshe daban, wanda ya dace da kunshin shigarwa kuma ya haɗa cikin reshe mai mahimmanci;
  • Ƙaddamar da ƙaddamar da bututun bututun shine bayyanar sabon ƙaddamarwa a cikin babban reshe ta hanyar buƙatar haɗuwa, wanda aka rufe ta masu kula da gida daga ƙungiyar gida;
  • Ana daidaita ma'ajiya sau ɗaya kowane minti biyar;
  • An fara taron kunshin shigarwa - ta amfani da mai tarawa da aka karɓa daga mai siyarwa.

Bayan wannan, an riga an riga an sami matakai don dubawa da canja wurin lambar, don ƙaddamar da bututu da tara a gefenmu.

An kaddamar da wannan zabin a watan Yuli. Matsalolin sauye-sauyen sun haifar da rashin gamsuwa a tsakanin dillalai da na gaba, amma a cikin wata mai zuwa mun yi nasarar kawar da duk wata matsala tare da kafa tsari a tsakanin ƙungiyoyi. Yanzu muna da taro ta hanyar sadaukarwa da bayarwa.
A watan Agusta, mun sami nasarar kammala shigarwa na farko na wani kunshin daban akan samarwa ta amfani da bututun mu, kuma tun watan Satumba, ba tare da togiya ba, an yi duk abubuwan da aka shigar na fakitin da ba a saki ba ta hanyar kayan aikin CD ɗin mu. Bugu da ƙari, mun sami nasarar cimma rabon ayyukan cikin gida a cikin 40% na abubuwan da aka saki tare da ƙaramin ƙungiya fiye da mai siyarwa - wannan shine tabbataccen nasara. Babban aiki mai mahimmanci ya kasance - don tarawa da shigar da sakin.

Magani na ƙarshe: tara kayan shigarwa 

Mun fahimci da kyau cewa rubuta umarnin mai siyarwa abu ne mai sarrafa kansa; Dole ne mu sake tunani kan tsarin. Maganin ya kasance a bayyane - don tattara tarin wadata daga reshen sakin tare da duk abubuwan da ake buƙata.

Mun fara tare da tabbacin ra'ayi: mun haɗa hannu da hannu tare da kunshin saki bisa ga abubuwan da ke cikin aiwatarwa na baya kuma mun shigar da shi a kan mahallin mu. Komai yayi aiki, ra'ayi ya zama mai yiwuwa. Bayan haka, mun warware batun rubuta saitunan farawa da haɗa su a cikin ƙaddamarwa. Mun shirya sabon fakiti kuma mun gwada shi a cikin wuraren gwaji a matsayin wani ɓangare na sabuntawar kwane-kwane. Shigar ya yi nasara, duk da cewa yana da fa'idodi da yawa daga ƙungiyar aiwatarwa. Amma babban abu shi ne an ba mu izinin shiga samarwa a cikin watan Nuwamba tare da taronmu.

Yayin da ya rage fiye da wata guda, kayan da aka zabo da hannu sun nuna a fili cewa lokaci ya kure. Sun yanke shawarar yin ginin daga reshen sakin, amma me ya sa za a raba shi? Ba mu da Prod-kamar, kuma rassan da ke akwai ba su da kyau - akwai lambobi da yawa waɗanda ba dole ba. Muna buƙatar gaggawar yanke masu son talla, kuma wannan ya haura dubu uku. Haɗa da hannu ba zaɓi ba ne ko kaɗan. Mun zana rubutun da ke gudana ta cikin log ɗin shigarwar samfur kuma yana tattara alƙawura ga reshe. A karo na uku ya yi aiki daidai, kuma bayan "kammala da fayil" reshe yana shirye. 

Mun rubuta namu magini don kunshin shigarwa kuma mun gama shi a cikin mako guda. Sa'an nan kuma dole ne mu canza mai sakawa daga ainihin aikin tsarin, tun da yake bude-source. Bayan jerin bincike da gyare-gyare, an yi la'akari da sakamakon nasara. A halin da ake ciki, abun da ke cikin sakin ya ɗauki siffar, don daidaitaccen shigarwa wanda ya zama dole don daidaita tsarin gwaji tare da samarwa, kuma an rubuta wani rubutun daban don wannan.

A zahiri, akwai maganganu da yawa game da shigarwa na farko, amma gabaɗaya lambar ta yi aiki. Kuma bayan kusan shigarwa na uku komai ya fara kyau. An kula da sarrafa abun ciki da sarrafa nau'ikan abubuwa daban a cikin yanayin jagora, wanda a wannan matakin ya sami barata sosai.

Wani ƙarin ƙalubale shine yawan adadin abubuwan da ba a sake su ba wanda dole ne a yi la'akari da su. Amma tare da reshe mai kama da Prod da Rebase, aikin ya zama bayyananne.

Lokaci na farko, da sauri kuma ba tare da kurakurai ba

Mun kusanci sakin tare da kyakkyawan hali da kuma ci gaba sama da dozin XNUMX masu nasara akan da'irori daban-daban. Amma a zahiri kwana ɗaya kafin ranar ƙarshe, ya bayyana cewa mai siyar bai kammala aikin ba don shirya sakin don shigarwa a hanyar da aka yarda da ita. Idan saboda wasu dalilai gininmu bai yi aiki ba, za a rushe sakin. Bugu da ƙari, ta hanyar ƙoƙarinmu, wanda ba shi da dadi musamman. Ba mu da hanyar ja da baya. Saboda haka, mun yi tunani ta hanyar madadin zaɓuɓɓuka, shirye-shiryen ayyuka da aka shirya kuma muka fara shigarwa.

Abin mamaki, duka sakin, wanda ya ƙunshi abubuwa sama da 800, ya fara daidai, a karon farko kuma cikin mintuna 10 kacal. Mun shafe awa daya muna duba rajistan ayyukan neman kurakurai, amma ba mu sami ko daya ba.

Washegari gaba ɗaya an yi shuru a cikin tattaunawar sakin: babu matsalolin aiwatarwa, sigar karkatacciya ko lambar “marasa dacewa”. Ya kasance ko ta yaya. Daga baya, wasu sharhi sun bayyana, amma idan aka kwatanta da sauran tsarin da gogewar da suka gabata, adadinsu da fifikon su sun yi ƙasa sosai.

Wani ƙarin tasiri daga tasirin tarawa shine haɓaka ingancin haɗuwa da gwaji. Saboda shigarwa da yawa na cikakken saki, gina lahani da kurakuran turawa an gano su a cikin lokaci. Gwaji a cikin cikakkun saitunan saki ya ba da damar gano lahani a cikin tasirin juna na abubuwan da ba su bayyana ba yayin haɓakawa na haɓakawa. Tabbas an yi nasara, musamman idan aka ba da gudummawar 57% don sakin.

Sakamako da ƙarshe

A cikin ƙasa da shekara guda mun sami nasarar:

  • Gina cikakken ci gaba na ciki ta amfani da tsarin m;
  • Kawar da mahimmancin dogaro na mai siyarwa;
  • Kaddamar da CI/CD don gadon rashin abokantaka;
  • Tada hanyoyin aiwatarwa zuwa sabon matakin fasaha;
  • Mahimmanci rage lokacin ƙaddamarwa;
  • Mahimmanci rage yawan kurakuran aiwatarwa;
  • Da aminci ayyana kanku a matsayin ƙwararren ƙwararren ci gaba.

Tabbas, yawancin abin da aka kwatanta suna kama da kullun, amma waɗannan su ne siffofi na tsarin da iyakokin tsarin da ke cikinsa. A halin yanzu, sauye-sauyen sun shafi samfuran bayanan martaba na IS (asusu na manyan, katunan filastik, asusun ajiyar kuɗi, escrow, lamunin kuɗi), amma mai yuwuwar hanyar za a iya amfani da ita ga kowane IS ɗin da aka saita aikin aiwatar da ayyukan DevOps. Za a iya kwafi samfurin tarawa cikin aminci don aiwatarwa na gaba (ciki har da waɗanda ba a saki ba) daga isarwa da yawa.

source: www.habr.com

Add a comment