Conas forbairt intí lán-chuimsitheach a thógáil ag baint úsáide as DevOps - taithí VTB

Oibríonn cleachtais DevOps. Bhíomar cinnte de seo sinn féin nuair a laghdaigh muid an t-am suiteála scaoilte 10 n-uaire. Sa chóras Próifíl FIS, a úsáidimid ag VTB, tógann an tsuiteáil anois 90 nóiméad seachas 10. Tá an t-am tógála scaoilte laghdaithe ó dhá sheachtain go dhá lá. Tá líon na lochtanna forfheidhmithe leanúnacha tite go dtí an t-íosmhéid beagnach. Chun éalú ó “saothar láimhe” agus deireadh a chur le spleáchas ar an díoltóir, bhí orainn oibriú le crutches agus teacht ar réitigh gan choinne. Anseo thíos tá scéal mionsonraithe faoin gcaoi ar thógamar forbairt inmheánach iomlán.

Conas forbairt intí lán-chuimsitheach a thógáil ag baint úsáide as DevOps - taithí VTB
 

Prologue: Is fealsúnacht é DevOps

Le bliain anuas, tá go leor oibre déanta againn chun forbairt inmheánach agus cur i bhfeidhm cleachtais DevOps ag VTB a eagrú:

  • Thógamar próisis forbartha inmheánacha do 12 chóras;
  • Sheolamar 15 píblíne, agus cuireadh ceithre cinn acu sin chuig táirgeadh;
  • 1445 cás tástála uathoibrithe;
  • D'éirigh linn roinnt eisiúintí a d'ullmhaigh foirne inmheánacha a chur i bhfeidhm.

Ar cheann de na cinn is deacra le forbairt intí agus le cur i bhfeidhm cleachtais DevSecOps a eagrú bhí an córas Próifíl FIS - próiseálaí táirgí miondíola ar DBMS neamhghaolmhar. Mar sin féin, bhíomar in ann an fhorbairt a thógáil, an phíblíne a sheoladh, pacáistí aonair neamh-eisiúint a shuiteáil ar an táirge, agus d'fhoghlaimíomar conas eisiúintí a chur le chéile. Ní raibh an tasc éasca, ach suimiúil agus gan srianta soiléire i gcur i bhfeidhm: anseo tá an córas - ní mór duit forbairt intí a thógáil. Is é an t-aon choinníoll ná an CD a úsáid roimh thimpeallacht tháirgiúil.

Ar dtús, bhí an chuma ar an algartam cur chun feidhme simplí agus soiléir:

  • Forbraímid saineolas forbartha tosaigh agus bainimid amach leibhéal inghlactha cáilíochta ón bhfoireann cód gan lochtanna comhlán;
  • Comhtháthaimid isteach i bpróisis reatha a oiread agus is féidir;
  • Chun cód a aistriú idir céimeanna soiléire, gearrthaimid píblíne agus brúimid ceann dá foircinn isteach sa leanúint.

Le linn an ama seo, ní mór don fhoireann forbartha den mhéid riachtanach scileanna a fhorbairt agus an sciar dá rannchuidiú le heisiúintí a mhéadú go leibhéal inghlactha. Agus sin é, is féidir linn smaoineamh ar an tasc críochnaithe.

Dhealródh sé gur cosán atá go hiomlán tíosach ar fhuinneamh é seo chuig an toradh riachtanach: seo chugainn DevOps, seo chugainn méadracht feidhmíochta na foirne, seo an saineolas carntha... Ach go praiticiúil, fuaireamar deimhniú eile go bhfuil DevOps fós faoin bhfealsúnacht , agus nach bhfuil “ceangailte leis an bpróiseas gitlab, insible, nexus agus níos faide síos ar an liosta.”

Tar éis dúinn anailís a dhéanamh arís ar an bplean gníomhaíochta, thugamar faoi deara go raibh muid ag tógáil cineál díoltóra seachfhoinsithe ionainn féin. Dá bhrí sin, cuireadh ath-innealtóireacht próisis leis an algartam a thuairiscítear thuas, chomh maith le saineolas a fhorbairt feadh an bhealaigh forbartha ar fad chun ról ceannasach a bhaint amach sa phróiseas seo. Ní hé an rogha is éasca, ach is é seo an cosán d'fhorbairt idé-eolaíoch ceart.
 

Cá gcuirtear tús le forbairt intí? 

Níorbh é an córas ba chairdiúla le bheith ag obair leis. Go ailtireachta, bhí sé ar cheann DBMS mór neamhchoibhneasta, comhdhéanta de go leor rudaí inrite ar leith (scripteanna, nósanna imeachta, baisceanna, etc), ar a dtugtar de réir mar is gá, agus d'oibrigh ar phrionsabal an bhosca dubh: faigheann sé iarratas agus eisiúintí. freagra. I measc na ndeacrachtaí eile is fiú a thabhairt faoi deara tá:

  • Teanga choimhthíocha (MUMPS);
  • Comhéadan consól;
  • Easpa comhtháthaithe le huirlisí agus creataí uathoibrithe coitianta;
  • Toirt sonraí i ndeichí terabytes;
  • Ualach os cionn 2 mhilliún oibríocht in aghaidh na huaire;
  • Suntas - Gnó-Chriticiúil.

Ag an am céanna, ní raibh aon stór cód foinse ar ár taobh. Ar chor ar bith. Bhí doiciméadú ann, ach bhí gach príomheolas agus inniúlachtaí ar thaobh eagraíochta seachtraí.
Thosaigh muid ag máistreacht ar fhorbairt an chórais beagnach ón tús, ag cur san áireamh a ghnéithe agus dáileadh íseal. Thosaigh sé i mí Dheireadh Fómhair 2018:

  • Rinne sé staidéar ar dhoiciméadú agus ar bhunghnéithe giniúna cód;
  • Rinneamar staidéar ar an ngearrchúrsa ar fhorbairt a fuarthas ón díoltóir;
  • Scileanna forbartha tosaigh máistreachta;
  • Chuireamar lámhleabhar oiliúna le chéile do bhaill foirne nua;
  • D'aontaíomar an fhoireann a áireamh sa mhodh “comhraic”;
  • Réitíodh an cheist maidir le rialú cáilíochta cód;
  • D’eagraíomar seastán forbartha.

Chaith muid trí mhí ag forbairt saineolais agus ag tumadh féin sa chóras, agus ó thús 2019, thosaigh forbairt intí a ghluaiseacht i dtreo todhchaí geal, uaireanta le deacracht, ach go muiníneach agus le cuspóir.

Ascnamh stórtha agus uathtástálacha

Is é an chéad tasc DevOps an stór. D’aontaíomar go tapa ar rochtain a sholáthar, ach b’éigean aistriú ón SVN reatha le craobh-bhrainse amháin chuig ár sprioc Git leis an aistriú chuig samhail de roinnt brainsí agus forbairt Git Flow. Tá 2 fhoireann againn freisin a bhfuil a mbonneagar féin acu, chomh maith le cuid d'fhoireann an díoltóra thar lear. Bhí orm maireachtáil le dhá Gits agus sioncrónú a chinntiú. I gcás den sórt sin, ba é an ceann ba lú de dhá olc.

Cuireadh aistriú an stór ar athló arís agus arís eile; níor críochnaíodh é ach i mí Aibreáin, le cabhair ó chomhghleacaithe ón líne tosaigh. Le Git Flow, shocraigh muid rudaí a choinneáil simplí ar dtús agus socraíomar ar an scéim clasaiceach le hotfix, a fhorbairt agus a scaoileadh. Shocraigh siad máistir (aka prod-like) a thréigean. Anseo thíos míneoimid cén fáth ar tharla an rogha seo a bheith optamach dúinn. Baineadh úsáid as stór seachtrach leis an díoltóir, a bhí coitianta do dhá fhoireann, mar oibrí. Sioncrónaigh sé leis an stór inmheánach de réir sceidil. Anois le Git agus Gitlab bhíothas in ann próisis a uathoibriú.

Réitíodh ceist na n-uaththástálacha thar a bheith éasca - cuireadh creat réamhdhéanta ar fáil dúinn. Agus sainiúlacht an chórais á gcur san áireamh, ba chuid intuigthe den phróiseas gnó é glaoch ar oibríocht ar leith agus bhí sé ina thástáil aonaid ag an am céanna. Ní raibh fágtha ach na sonraí tástála a ullmhú agus an t-ord inmhianaithe a shocrú chun na scripteanna a ghlaoch agus na torthaí a mheas. De réir mar a líonadh an liosta cásanna, a foirmíodh ar bhonn staitisticí oibríochta, criticiúlacht na bpróiseas agus an mhodheolaíocht aischéimnithe atá ann cheana, thosaigh tástálacha uathoibríocha le feiceáil. Anois d'fhéadfaimis tosú ag tógáil na píblíne.

Conas a bhí sé: an tsamhail roimh uathoibriú

Scéal ar leith atá sa mhúnla reatha den phróiseas cur chun feidhme. Aistríodh gach modhnú de láimh mar phacáiste suiteála incriminteach ar leith. Ansin tháinig clárú láimhe i Jira agus suiteáil láimhe ar thimpeallachtaí. Maidir le pacáistí aonair, d'fhéach gach rud soiléir, ach le hullmhú an scaoileadh, bhí rudaí níos casta.

Tionól rinneadh ag leibhéal na seachadtaí aonair, a bhí neamhspleách rudaí. Is seachadadh nua é aon athrú. I measc rudaí eile, cuireadh 60-70 leagan teicniúil leis na 10-15 pacáiste de chomhdhéanamh an phríomh-eisiúint - leaganacha a fhaightear nuair a cuireadh rud éigin as an scaoileadh nó é a eisiamh agus a léiríonn athruithe ar dhíolacháin lasmuigh d'eisiúintí.

Bhí rudaí laistigh de na seachadtaí forluí lena chéile, go háirithe sa chód inrite, a bhí níos lú ná leath uathúil. Bhí go leor spleáchais ar an gcód suiteáilte cheana féin agus ar an gceann a raibh a shuiteáil díreach beartaithe. 

Chun an leagan riachtanach den chód a fháil, bhí sé riachtanach an t-ordú suiteála a leanúint go docht, ar lena linn a rinneadh rudaí a athscríobh go fisiciúil go minic, thart ar 10-12 uair.

Tar éis baisc de phacáistí a shuiteáil, bhí orm treoracha a leanúint de láimh chun na socruithe a thúsú. Chuir an díoltóir an scaoileadh le chéile agus a shuiteáil. Soiléiríodh comhdhéanamh an eisithe beagnach roimh an tráth a cuireadh i bhfeidhm é, rud a bhain le cruthú pacáistí “díchúplála”. Mar thoradh air sin, aistríodh cuid shuntasach de na soláthairtí ó scaoileadh go scaoileadh agus a eireaball féin “díchúplála”.

Anois tá sé soiléir, leis an gcur chuige seo - an bhfreagra scaoileadh le chéile ag leibhéal an phacáiste - nach raibh aon chiall phraiticiúil ag brainse máistir amháin. Ghlac suiteáil ar tháirgeadh ó uair go leith go dhá uair an chloig de shaothar láimhe. Is maith an rud é gur sonraíodh ord próiseála réad ar a laghad ag leibhéal an suiteálaí: cuireadh réimsí agus struchtúir isteach roimh na sonraí agus na nósanna imeachta dóibh. Mar sin féin, níor oibrigh sé seo ach laistigh de phacáiste ar leith.

Ba é toradh loighciúil an chur chuige seo na lochtanna suiteála éigeantacha i bhfoirm leaganacha cam de rudaí, cód neamhriachtanach, treoracha ar iarraidh agus tionchair fhrithpháirteacha rudaí gan chuntas, a cuireadh deireadh le fiabhras tar éis iad a scaoileadh. 

Na chéad nuashonruithe: tiomsú agus seachadadh a thiomnú

Cuireadh tús leis an uathoibriú trí chód a tharchur trí phíobán feadh an bhealaigh seo:

  • Pioc suas an seachadadh críochnaithe ó stóráil;
  • Suiteáil é ar thimpeallacht tiomnaithe;
  • Rith autotests;
  • Déan an toradh suiteála a mheas;
  • Cuir glaoch ar an bpíblíne seo a leanas ar thaobh an ordaithe tástála.

Ba cheart don chéad phíblíne eile an tasc a chlárú i Jira agus fanacht le horduithe a dháileadh ar lúba tástála roghnaithe, a bhraitheann ar uainiú chur i bhfeidhm an taisc. Truicear - litir faoi ullmhacht do sheachadadh chuig seoladh tugtha. Bhí sé seo, ar ndóigh, ina crutch soiléir, ach bhí orm tosú áit éigin. I mí na Bealtaine 2019, cuireadh tús le haistriú an chóid le seiceálacha ar ár dtimpeallachtaí. Tá tús curtha leis an bpróiseas, níl fágtha ach é a thabhairt i gcruth réasúnta:

  • Déantar gach modhnú i mbrainse ar leith, a fhreagraíonn don phacáiste suiteála agus a chumasc isteach sa bhrainse máistir sprice;
  • Is é an truicear seolta píblíne ná cuma gealltanas nua sa mháistir-bhrainse trí iarratas cumaisc, atá dúnta ag cothaitheoirí ón bhfoireann intí;
  • Déantar stórtha a shioncronú uair amháin gach cúig nóiméad;
  • Cuirtear tús le cóimeáil an phacáiste suiteála - ag baint úsáide as an cóimeálaí a fuarthas ón díoltóir.

Tar éis seo, bhí céimeanna ann cheana féin chun an cód a sheiceáil agus a aistriú, chun an píopa a sheoladh agus teacht le chéile ar ár taobh.

Seoladh an rogha seo i mí Iúil. Mar thoradh ar dheacrachtaí an aistrithe bhí roinnt míshástachta i measc an díoltóra agus an líne tosaigh, ach i rith na míosa seo chugainn d’éirigh linn na himill gharbh go léir a bhaint agus próiseas a bhunú i measc na bhfoirne. Tá comhthionól againn anois trí thiomantas agus seachadadh.
I mí Lúnasa, d'éirigh linn an chéad phacáiste ar leith a shuiteáil ar tháirgeadh ag baint úsáide as ár bpíblíne, agus ó mhí Mheán Fómhair, gan eisceacht, rinneadh gach suiteáil de phacáiste neamh-scaoileadh aonair trínár n-uirlis CD. Ina theannta sin, d'éirigh linn sciar de thascanna intí a bhaint amach i 40% den chomhdhéanamh scaoileadh le foireann níos lú ná an díoltóir - is rath cinnte é seo. D'fhan an tasc is tromchúisí - an scaoileadh le chéile agus a shuiteáil.

An réiteach deiridh: pacáistí suiteála carnacha 

Thuigeamar go breá gur uathoibriú chomh mór sin a bhí i scripteáil threoracha an díoltóra; bhí orainn athmhachnamh a dhéanamh ar an bpróiseas féin. Ba léir an réiteach - soláthar carnach a bhailiú ón mbrainse scaoileadh le cuspóirí uile na leaganacha riachtanacha.

Thosaigh muid le cruthúnas coincheapa: rinneamar an pacáiste scaoileadh le chéile de láimh de réir ábhar an chur chun feidhme san am atá caite agus chuir sé isteach ar ár dtimpeallachtaí é. D'oibrigh gach rud amach, d'éirigh an coincheap amach a bheith inmharthana. Ansin, réitíomar an cheist maidir le scripteáil na socruithe tosaigh agus iad a áireamh sa ghealltanas. D'ullmhaigh muid pacáiste nua agus rinneamar é a thástáil i dtimpeallachtaí tástála mar chuid den nuashonrú comhrianta. D’éirigh leis an suiteáil, cé gur tháinig raon leathan tuairimí ón bhfoireann forfheidhmithe. Ach is é an rud is mó ná gur tugadh cead dúinn dul ar aghaidh i dtáirgeadh i scaoileadh na Samhna lenár gcomhthionól.

Le beagán níos mó ná mí fágtha, thug na soláthairtí a roghnaíodh de láimh le fios go soiléir go raibh an t-am ag imeacht. Chinn siad an tógáil a dhéanamh ón mbrainse scaoileadh, ach cén fáth ar chóir é a scaradh? Níl cosúil le Prod againn, agus níl aon mhaith ann do na brainsí atá ann cheana féin - tá go leor cód neamhriachtanach ann. Ní mór dúinn go práinneach táirgí atá cosúil le táirgí a laghdú, agus tá os cionn trí mhíle gealltanais i gceist leis sin. Ní rogha ar chor ar bith é cóimeáil de láimh. Rinneamar sceitse amach ar script a ritheann tríd an logáil suiteála táirge agus a bhailíonn gealltanais don bhrainse. D'oibrigh sé i gceart an tríú huair, agus tar éis "críochnú le comhad" bhí an brainse réidh. 

Scríobhamar ár dtógálaí féin don phacáiste suiteála agus chríochnaigh muid é i seachtain. Ansin bhí orainn an suiteálaí a mhodhnú ó chroí-fheidhmiúlacht an chórais, ós rud é gur foinse oscailte é. Tar éis sraith seiceálacha agus modhnuithe, measadh go raibh an toradh rathúil. Idir an dá linn, ghlac comhdhéanamh an scaoilte cruth, agus bhí sé riachtanach an ciorcad tástála a ailíniú leis an gceann táirgthe chun an suiteáil cheart a dhéanamh, agus scríobhadh script ar leith dó seo.

Ar ndóigh, bhí go leor tuairimí faoin gcéad suiteáil, ach ar an iomlán d'oibrigh an cód. Agus tar éis thart ar an tríú suiteáil thosaigh gach rud ag breathnú go maith. Rinneadh monatóireacht ar leithligh ar rialú comhdhéanamh agus ar rialú leagan rudaí i mód láimhe, a raibh údar maith leis ag an gcéim seo.

Dúshlán breise a bhí ann ná an líon mór neamheisiúintí a bhí le cur san áireamh. Ach le brainse Prod-mhaith agus Rebase, d'éirigh an tasc trédhearcach.

An chéad uair, go tapa agus gan earráidí

Chuaigh muid i dteagmháil leis an scaoileadh le dearcadh dóchasach agus níos mó ná dosaen suiteálacha rathúla ar chiorcaid éagsúla. Ach go litriúil lá roimh an spriocdháta, d'éirigh sé amach nach raibh an obair críochnaithe ag an díoltóir chun an scaoileadh a ullmhú le haghaidh suiteáil ar an mbealach glactha. Más rud é ar chúis éigin nach n-oibríonn ár dtógáil, cuirfear isteach ar an scaoileadh. Thairis sin, trínár n-iarrachtaí, atá go háirithe míthaitneamhach. Ní raibh aon bhealach againn cúlú. Mar sin, smaoinigh muid trí roghanna eile, d'ullmhaigh muid pleananna gníomhaíochta agus thosaigh muid ag suiteáil.

Ar ionadh, thosaigh an scaoileadh iomlán, comhdhéanta de níos mó ná 800 réad, i gceart, an chéad uair agus i díreach 10 nóiméad. Chaitheamar uair an chloig ag seiceáil na logaí ag lorg earráidí, ach níor aimsíodh aon cheann.

An lá dár gcionn bhí ciúnas sa chomhrá scaoileadh: gan aon fhadhbanna feidhmithe, leaganacha cama nó cód “míchuí”. Bhí sé fiú ar bhealach awkward. Níos déanaí, tháinig roinnt tuairimí chun solais, ach i gcomparáid le córais eile agus taithí roimhe seo, bhí a líon agus a dtosaíocht i bhfad níos ísle.

Iarmhairt bhreise ón éifeacht charnach ab ea méadú ar cháilíocht an chomhthionóil agus na tástála. Mar gheall ar shuiteálacha iolracha den scaoileadh iomlán, aithníodh lochtanna tógála agus earráidí imlonnaithe go tráthúil. Mar gheall ar thástáil i bhfoirmíochtaí scaoilte iomlána bhíothas in ann lochtanna i gcomhthionchar réad nach raibh le feiceáil le linn suiteálacha incriminteacha a shainaithint. D’éirigh go han-mhaith leis, go háirithe i bhfianaise an méid a chuireamar 57% leis an scaoileadh.

Achoimre agus Conclúidí

I níos lú ná bliain d’éirigh linn:

  • Forbairt inmheánach iomlán a thógáil ag baint úsáide as córas coimhthíocha;
  • Deireadh a chur le spleáchas díoltóirí ríthábhachtach;
  • Seoladh CI/CD le haghaidh oidhreacht an-neamhchairdiúil;
  • Próisis cur chun feidhme a ardú go leibhéal teicniúil nua;
  • Am imscaradh a laghdú go suntasach;
  • líon na n-earráidí cur chun feidhme a laghdú go suntasach;
  • Dearbhaigh go muiníneach tú féin mar phríomh-shaineolaí forbartha.

Ar ndóigh, is cosúil go bhfuil cacamas iomlán ar go leor den a bhfuil cur síos air, ach is iad seo gnéithe an chórais agus na teorainneacha próisis atá ann. I láthair na huaire, chuir na hathruithe isteach ar tháirgí agus ar sheirbhísí Próifíl IS (máistirchuntais, cártaí plaisteacha, cuntais choigiltis, eascró, iasachtaí airgid), ach d'fhéadfadh an cur chuige a chur i bhfeidhm ar aon IS a bhfuil an tasc de chleachtais DevOps socraithe ina leith. Is féidir an tsamhail charnach a mhacasamhlú go sábháilte le haghaidh cur i bhfeidhm ina dhiaidh sin (lena n-áirítear cinn neamhscaoilte) ó go leor seachadtaí.

Foinse: will.com

Add a comment