Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Cuid 1: Gréasán / Android

Tabhair faoi deara: is aistriúchán go Rúisis den bhunalt é an t-alt seo “Ní le haghaidh DevOps amháin atá uirlisí DevOps. msgstr "Bonneagar uathoibrithe tástála a thógáil ón tús." Mar sin féin, caomhnaítear gach léaráid, nasc, Sleachta agus téarmaí sa bhunteanga chun saobhadh na brí a sheachaint nuair a aistrítear go Rúisis iad. Ba mhaith liom tú sásta ag staidéar!

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Faoi láthair, tá an speisialtacht DevOps ar cheann de na cinn is mó éileamh sa tionscal TF. Má osclaíonn tú suíomhanna cuardaigh fostaíochta coitianta agus má dhéanann tú scagadh de réir tuarastail, feicfidh tú go bhfuil poist a bhaineann le DevOps ag barr an liosta. Mar sin féin, tá sé tábhachtach a thuiscint go dtagraíonn sé seo go príomha do phost 'Sinsearach', rud a thugann le tuiscint go bhfuil ardleibhéal scileanna, eolais ar theicneolaíocht agus uirlisí ag an iarrthóir. Tagann sé seo freisin le leibhéal ard freagrachta a bhaineann le hoibriú gan bhriseadh an táirgthe. Mar sin féin, thosaigh muid ag dearmad cad é DevOps. Ar dtús, ní raibh sé ar aon duine nó roinn ar leith. Má lorgaímid sainmhínithe ar an téarma seo, gheobhaidh muid go leor ainmfhocail áille agus chearta, mar mhodheolaíocht, cleachtais, fealsúnacht chultúrtha, grúpa coincheapa, agus mar sin de.

Is innealtóir uathoibrithe tástála é mo speisialtóireacht (innealtóir uathoibrithe QA), ach creidim nár cheart go mbeadh baint aige ach le tástálacha uathoibríocha a scríobh nó le hailtireacht creata tástála a fhorbairt. In 2020, tá eolas ar bhonneagar uathoibrithe riachtanach freisin. Ligeann sé seo duit an próiseas uathoibrithe a eagrú tú féin, ó thástálacha a rith go dtí torthaí a sholáthar do na páirtithe leasmhara go léir de réir do spriocanna. Mar thoradh air sin, tá scileanna DevOps riachtanach chun an post a dhéanamh. Agus tá sé seo go léir go maith, ach, ar an drochuair, tá fadhb ann (spoiler: déanann an t-alt seo iarracht an fhadhb seo a shimpliú). Is é an pointe go bhfuil DevOps crua. Agus tá sé seo soiléir, toisc nach n-íocfaidh cuideachtaí mórán as rud atá éasca le déanamh... I saol DevOps, tá líon mór uirlisí, téarmaí agus cleachtais ar gá máistreacht a dhéanamh orthu. Bíonn sé seo thar a bheith deacair ag tús gairme agus braitheann sé ar an taithí theicniúil carntha.

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús
Foinse: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

Anseo is dócha go gcríochnóidh muid leis an gcuid tosaigh agus díreoimid ar chuspóir an ailt seo. 

Cad faoi atá an t-alt seo?

San Airteagal seo, táim chun mo thaithí a roinnt maidir le bonneagar uathoibrithe tástála a thógáil. Tá go leor foinsí faisnéise ar an Idirlíon faoi uirlisí éagsúla agus conas iad a úsáid, ach ba mhaith liom breathnú orthu i gcomhthéacs uathoibrithe amháin. Creidim go bhfuil go leor innealtóirí uathoibrithe eolach ar an gcás nuair nach bhfuil aon duine seachas tú féin ag rith na dtástálacha forbartha nó ag tabhairt aire dóibh a chothabháil. Mar thoradh air sin, éiríonn tástálacha as dáta agus caithfidh tú am a chaitheamh ag nuashonrú iad. Arís, ag tús gairme, féadann sé seo a bheith ina thasc deacair go leor: cinneadh a dhéanamh go ciallmhar cé na huirlisí ar cheart dóibh cuidiú le deireadh a chur le fadhb ar leith, conas iad a roghnú, a chumrú agus a chothabháil. Casann roinnt tástálaithe chuig DevOps (daoine) chun cabhair a fháil agus, a ligean ar a bheith macánta, oibríonn an cur chuige seo. I go leor cásanna b’fhéidir gurb é seo an t-aon rogha amháin toisc nach bhfuil infheictheacht againn i ngach spleáchas. Ach mar is eol dúinn, is daoine an-ghnóthach iad DevOps, toisc go gcaithfidh siad smaoineamh ar bhonneagar iomlán, imscaradh, monatóireacht, micreasheirbhísí agus tascanna eile dá samhail ag brath ar an eagraíocht / foireann. Mar is gnách, ní tosaíocht é uathoibriú. I gcás den sórt sin, ní mór dúinn iarracht a dhéanamh gach rud is féidir ar ár gcuid a dhéanamh ó thús go deireadh. Laghdóidh sé seo spleáchais, luasóidh sé sreabhadh oibre, feabhsóidh sé ár scileanna agus ligfidh sé dúinn pictiúr níos mó a fheiceáil ar a bhfuil ag tarlú.

Cuireann an t-alt na huirlisí is mó tóir agus tóir i láthair agus léiríonn sé conas iad a úsáid chun bonneagar uathoibrithe a thógáil céim ar chéim. Déanann uirlisí a tástáladh trí thaithí phearsanta ionadaíocht do gach grúpa. Ach ní chiallaíonn sé sin go gcaithfidh tú an rud céanna a úsáid. Níl na huirlisí féin tábhachtach, bíonn siad le feiceáil agus téann siad i léig. Is é an tasc innealtóireachta atá againn ná na bunphrionsabail a thuiscint: cén fáth a dteastaíonn an grúpa uirlisí seo uainn agus cad iad na fadhbanna oibre is féidir linn a réiteach lena gcabhair. Sin an fáth a fhágann mé naisc ag deireadh gach ailt chuig uirlisí cosúla a d’fhéadfaí a úsáid i d’eagraíocht.

Cad nach bhfuil san Airteagal seo

Deirim arís nach mbaineann an t-alt le huirlisí sonracha, agus mar sin ní bheidh aon ionsá cód ó dhoiciméadú agus cur síos ar orduithe sonracha. Ach ag deireadh gach ailt fágaim naisc le haghaidh mionstaidéir.

Déantar é seo mar gheall ar: 

  • tá an t-ábhar seo an-éasca le fáil i bhfoinsí éagsúla (doiciméadú, leabhair, cúrsaí físeáin);
  • má thosaíonn muid ag dul níos doimhne, beidh orainn 10, 20, 30 cuid den alt seo a scríobh (cé go bhfuil na pleananna 2-3);
  • Níor mhaith liom ach do chuid ama a chur amú mar b'fhéidir gur mhaith leat uirlisí eile a úsáid chun na spriocanna céanna a bhaint amach.

Cleachtais

Ba mhaith liom go mór go mbeadh an t-ábhar seo úsáideach do gach léitheoir, agus gan é a léamh agus a ligean i ndearmad. In aon staidéar, is comhpháirt an-tábhachtach é cleachtas. Chun seo a ullmhaigh mé Stór GitHub le treoracha céim ar chéim ar conas gach rud a dhéanamh ón tús. Tá obair bhaile ag fanacht leat freisin chun a chinntiú nach ndéanann tú cóip mheabhrach de línte na n-orduithe atá á ndéanamh agat.

Plean

Céim
teicneolaíocht
uirlisí

1
Rith áitiúil (ullmhaigh tástálacha taispeána gréasáin / android agus rith go háitiúil) 
Nód.js, Seiléiniam, Appium

2
Córais rialaithe leagan 
dul

3
Coimeádán
Docker, greille seiléiniam, Selenoid (Gréasán, Android)

4
CI/CD
Gitlab CI

5
Ardáin scamall
Ardán Google Cloud

6
Orchestration
Kubernetes

7
Bonneagar mar chód (IaC)
Terraform, Freagrach

Struchtúr gach ailt

Chun an scéal a choinneáil soiléir, déantar cur síos ar gach cuid de réir an imlíne seo a leanas:

  • Cur síos gairid ar an teicneolaíocht saor in aisce,.
  • luach do bhonneagar uathoibrithe,
  • léiriú ar staid reatha an bhonneagair,
  • naisc le staidéar,
  • uirlisí den chineál céanna.

1. Rith tástálacha go háitiúil

Cur síos gairid ar an teicneolaíocht....

Níl anseo ach céim ullmhúcháin chun na trialacha taispeána a reáchtáil go háitiúil agus a fhíorú go n-éiríonn leo. Sa chuid phraiticiúil, úsáidtear Node.js, ach níl an teanga cláir agus an t-ardán tábhachtach freisin agus is féidir leat iad siúd a úsáidtear i do chuideachta a úsáid. 

Mar uirlisí uathoibrithe, áfach, molaim úsáid a bhaint as Selenium WebDriver le haghaidh ardáin ghréasáin agus Appium le haghaidh ardán Android, faoi seach, ós rud é sna chéad chéimeanna eile úsáidfimid íomhánna Docker atá oiriúnaithe chun oibriú go sonrach leis na huirlisí seo. Thairis sin, ag tagairt do riachtanais an phoist, is iad na huirlisí seo na cinn is mó éileamh ar an margadh.

Mar a thug tú faoi deara, ní dhéanaimid ach tástálacha gréasáin agus Android a mheas. Ar an drochuair, is scéal go hiomlán difriúil é iOS (buíochas le Apple). Tá sé beartaithe agam réitigh agus cleachtais a bhaineann le IOS a thaispeáint sna codanna atá le teacht.

Luach ar bhonneagar uathoibrithe

Ó thaobh an bhonneagair de, ní thugann rith go háitiúil aon luach. Ní seiceálann tú ach go ritheann na tástálacha ar an meaisín áitiúil i mbrabhsálaithe agus in insamhlóirí áitiúla. Ach in aon chás, is pointe tosaigh riachtanach é seo.

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí den chineál céanna

  • aon teanga ríomhchlárúcháin is maith leat i gcomhar le tástálacha Seiléiniam/Appium;
  • aon tástálacha;
  • aon rádala tástála.

2. Córais rialaithe leagan (Git)

Cur síos gairid ar an teicneolaíocht....

Ní bheidh sé ina nochtadh mór d'aon duine má deirim gur cuid thar a bheith tábhachtach d'fhorbairt é rialú leaganacha, i bhfoireann agus ina n-aonar. Bunaithe ar fhoinsí éagsúla, tá sé sábháilte a rá gurb é Git an t-ionadaí is mó tóir. Soláthraíonn córas rialaithe leagan go leor buntáistí, mar shampla cód a roinnt, leaganacha a stóráil, a chur ar ais chuig brainsí roimhe seo, monatóireacht a dhéanamh ar stair tionscadail, agus cúltacaí. Ní phléifimid gach pointe go mion, mar táim cinnte go bhfuil tú an-eolach air agus go n-úsáideann tú é i do chuid oibre laethúil. Ach más rud é nach bhfuil go tobann, ansin molaim sos ag léamh an t-alt seo agus líonadh an bhearna seo a luaithe is féidir.

Luach ar bhonneagar uathoibrithe

Agus anseo is féidir leat ceist réasúnta a chur: “Cén fáth a bhfuil sé ag insint dúinn faoi Git? Tá a fhios ag gach duine é seo agus úsáideann sé é le haghaidh cód forbartha agus le haghaidh cód tástála uathoibríoch.” Beidh an ceart agat, ach san Airteagal seo táimid ag caint faoi bhonneagar agus feidhmíonn an chuid seo mar réamhamharc ar alt 7: “Bonneagar mar Chód (IaC)”. Maidir linne, ciallaíonn sé seo go ndéantar cur síos ar an mbonneagar iomlán, lena n-áirítear tástáil, i bhfoirm cód, ionas gur féidir linn córais leagan a chur i bhfeidhm air agus sochair chomhchosúla a fháil agus a bhaineann le cód forbartha agus uathoibrithe.

Breathnóimid ar IaC níos mionsonraithe i gCéim 7, ach fiú anois is féidir leat Git a úsáid go háitiúil trí stór áitiúil a chruthú. Cuirfear leis an bpictiúr mór nuair a chuirfimid stór iargúlta leis an mbonneagar.

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí den chineál céanna

3. Coimeádán (Docker)

Cur síos gairid ar an teicneolaíocht....

Chun a léiriú conas a d’athraigh coimeádán rialacha an chluiche, a ligean ar ais in am cúpla bliain. Ar ais ansin, cheannaigh agus d’úsáid daoine meaisíní freastalaí chun feidhmchláir a rith. Ach i bhformhór na gcásanna, ní raibh na hacmhainní tosaithe riachtanacha ar eolas roimh ré. Mar thoradh air sin, chaith cuideachtaí airgead ar fhreastalaithe daor, cumhachtacha a cheannach, ach níor úsáideadh cuid den acmhainn seo go hiomlán.

Ba é an chéad chéim eile den éabhlóid ná meaisíní fíorúla (VManna), a réitigh an fhadhb a bhaineann le cur amú airgid ar acmhainní nár úsáideadh. Leis an teicneolaíocht seo bhíothas in ann feidhmchláir a rith go neamhspleách ar a chéile laistigh den fhreastalaí céanna, ag leithdháileadh spás iomlán iargúlta. Ach, ar an drochuair, tá a míbhuntáistí ag baint le haon teicneolaíocht. Teastaíonn córas oibriúcháin iomlán chun VM a rith, a ídíonn LAP, RAM, stóráil agus, ag brath ar an OS, ní mór costais cheadúnais a chur san áireamh. Bíonn tionchar ag na fachtóirí seo ar luas luchtaithe agus bíonn siad deacair inaistritheacht.

Agus anois teacht againn ar containerization. Arís eile, réitíonn an teicneolaíocht seo an fhadhb roimhe seo, toisc nach n-úsáideann coimeádáin OS iomlán, a shaorann go leor acmhainní agus a sholáthraíonn réiteach tapa agus solúbtha le haghaidh iniomparthachta.

Ar ndóigh, níl aon rud nua ag an teicneolaíocht coimeádaithe agus tugadh isteach é den chéad uair sna 70í déanacha. Sna laethanta sin, rinneadh go leor taighde, forbairtí agus iarrachtaí. Ach ba é Docker a d'oiriúnaigh an teicneolaíocht seo agus a chuir rochtain éasca ar na maiseanna air. Sa lá atá inniu ann, nuair a dhéanaimid labhairt faoi choimeádáin, is éard atá i gceist againn i bhformhór na gcásanna Docker. Nuair a labhairt linn faoi choimeádáin Docker, is éard atá i gceist againn coimeádáin Linux. Is féidir linn córais Windows agus macOS a úsáid chun coimeádáin a rith, ach tá sé tábhachtach a thuiscint go bhfuil ciseal breise le feiceáil sa chás seo. Mar shampla, ritheann Docker on Mac coimeádáin go ciúin taobh istigh de Linux VM éadrom. Tabharfaimid ar ais chuig an ábhar seo nuair a phléimid rith aithriseoir Android taobh istigh de choimeádáin, mar sin anseo tá nuance an-tábhachtach a chaithfear a phlé níos mine.

Luach ar bhonneagar uathoibrithe

Fuair ​​​​muid amach go bhfuil containerization agus Docker fionnuar. Breathnaímid ar seo i gcomhthéacs uathoibrithe, toisc go gcaithfidh gach uirlis nó teicneolaíocht fadhb a réiteach. Lig dúinn breac-chuntas a thabhairt ar na fadhbanna soiléire a bhaineann le uathoibriú tástála i gcomhthéacs tástálacha Chomhéadain:

  • líon mór spleáchais nuair a shuiteáil Seiléiniam agus go háirithe Appium;
  • fadhbanna comhoiriúnachta idir leaganacha de bhrabhsálaithe, insamhlóirí agus tiománaithe;
  • easpa spáis scoite do bhrabhsálaithe/insamhlóirí, rud atá thar a bheith tábhachtach do rith comhthreomhar;
  • deacair a bhainistiú agus a chothabháil más gá duit 10, 50, 100 nó fiú 1000 brabhsálaithe a rith ag an am céanna.

Ach ós rud é gurb é Seiléiniam an uirlis uathoibrithe is coitianta agus gurb é Docker an uirlis coimeádaithe is coitianta, níor cheart go mbeadh aon iontas ann go ndearna duine éigin iarracht iad a chur le chéile chun uirlis chumhachtach a chruthú chun na fadhbanna thuasluaite a réiteach. Déanaimis machnamh níos mine ar réitigh den sórt sin. 

Greille seiléiniam i docker

Is í an uirlis seo an ceann is mó tóir ar fud an domhain Seiléiniam chun brabhsálaithe iomadúla a reáchtáil ar il-innill agus iad a bhainistiú ó lárionad. Chun tús a chur leis, ní mór duit 2 chuid ar a laghad a chlárú: Mol agus Nód(anna). Is nód lárnach é Mol a fhaigheann gach iarratas ó thástálacha agus a dháileann iad chuig na Nóid chuí. I gcás gach Nód is féidir linn cumraíocht shonrach a shocrú, mar shampla, tríd an mbrabhsálaí atá ag teastáil agus a leagan a shonrú. Mar sin féin, ní mór dúinn fós aire a thabhairt do thiománaithe brabhsálaí comhoiriúnacha sinn féin agus iad a shuiteáil ar na Nóid atá ag teastáil. Ar an gcúis seo, ní úsáidtear greille Seiléiniam ina bhfoirm íon, ach amháin nuair is gá dúinn oibriú le brabhsálaithe nach féidir a shuiteáil ar Linux OS. I gcás gach cás eile, réiteach suntasach solúbtha agus ceart a bheadh ​​ann íomhánna Docker a úsáid chun Mol greille Seiléiniam agus Nóid a rith. Simplíonn an cur chuige seo bainistíocht nód go mór, toisc gur féidir linn an íomhá a theastaíonn uainn a roghnú le leaganacha comhoiriúnacha de na brabhsálaithe agus na tiománaithe atá suiteáilte cheana féin.

In ainneoin athbhreithnithe diúltacha faoi chobhsaíocht, go háirithe nuair a bhíonn líon mór Nóid á reáchtáil ag an am céanna, is é greille Seiléiniam an uirlis is mó tóir fós chun tástálacha Seiléiniam a reáchtáil go comhthreomhar. Tá sé tábhachtach a thabhairt faoi deara go bhfuil feabhsuithe agus modhnuithe éagsúla ar an uirlis seo le feiceáil i gcónaí i bhfoinse oscailte, a théann i ngleic le scrogaill éagsúla.

Selenoid le haghaidh an ngréasán

Is dul chun cinn é an uirlis seo i saol na Seiléiniam mar go n-oibríonn sé amach as an mbosca agus rinne sé saol go leor innealtóirí uathoibrithe i bhfad níos éasca. Ar an gcéad dul síos, ní modhnú eile ar ghreille Seiléiniam é seo. Ina áit sin, chruthaigh na forbróirí leagan iomlán nua de Selenium Hub i Golang, a thug, in éineacht le híomhánna éadroma Docker do bhrabhsálaithe éagsúla, spreagadh d'fhorbairt uathoibrithe tástála. Thairis sin, i gcás Eangach Seiléiniam, ní mór dúinn na brabhsálaithe riachtanacha go léir agus a gcuid leaganacha a chinneadh roimh ré, rud nach bhfuil fadhb le linn oibriú le brabhsálaí amháin. Ach maidir le brabhsálaithe iomadúla a dtacaítear leo, is é Selenoid an príomhréiteach a bhuíochas dá ghné 'bhrabhsálaí ar éileamh'. Níl le déanamh againn ach na híomhánna riachtanacha a íoslódáil le brabhsálaithe roimh ré agus an comhad cumraíochta lena n-idirghníomhaíonn Selenoid a nuashonrú. Tar éis do Selenoid iarratas a fháil ó na tástálacha, seolfaidh sé an coimeádán atá ag teastáil go huathoibríoch leis an mbrabhsálaí atá ag teastáil. Nuair a bheidh an tástáil críochnaithe, scoirfidh Selenoid an coimeádán, rud a chuirfidh acmhainní ar fáil d'iarratais amach anseo. Cuireann an cur chuige seo deireadh go hiomlán leis an bhfadhb aitheanta maidir le ‘díghrádú nód’ a bhíonn againn go minic san eangach Seiléiniam.

Ach, faraor, ní piléar airgid é Selenoid go fóill. Fuaireamar an ghné ‘brabhsálaí ar éileamh’, ach níl an ghné ‘acmhainní ar éileamh’ ar fáil go fóill. Chun Selenoid a úsáid, ní mór dúinn é a imscaradh ar chrua-earraí fisiceacha nó ar VM, rud a chiallaíonn go gcaithfimid a fhios roimh ré cé mhéad acmhainní is gá a leithdháileadh. Is dóigh liom nach fadhb í seo do thionscadail bheaga a ritheann 10, 20 nó fiú 30 brabhsálaí ag an am céanna. Ach cad a tharlóidh má theastaíonn 100, 500, 1000 nó níos mó? Ní dhéanann sé aon chiall an oiread sin acmhainní a chothabháil agus íoc as an t-am ar fad. I gcodanna 5 agus 6 den Airteagal seo, déanfaimid plé ar réitigh a ligfidh duit scála a dhéanamh, rud a laghdóidh costais chuideachta go suntasach.

Selenoid le haghaidh Android saor in aisce

Tar éis rath Selenoid mar uirlis uathoibrithe gréasáin, bhí daoine ag iarraidh rud éigin den chineál céanna le haghaidh Android. Agus tharla sé - scaoileadh Selenoid le tacaíocht Android. Ó thaobh úsáideoirí ardleibhéil, tá prionsabal na hoibríochta cosúil le uathoibriú gréasáin. Is é an t-aon difríocht ná go ritheann Selenoid coimeádáin aithriseoir Android in ionad coimeádáin bhrabhsálaí. I mo thuairimse, is é seo an uirlis saor in aisce is cumhachtaí faoi láthair chun tástálacha Android a reáchtáil go comhthreomhar.

Níor mhaith liom i ndáiríre labhairt faoi na gnéithe diúltacha den uirlis seo, mar is maith liom é i ndáiríre. Ach fós, tá na míbhuntáistí céanna ann a bhaineann le uathoibriú gréasáin agus a bhaineann le scálú. Ina theannta sin, ní mór dúinn labhairt faoi theorannú amháin eile a d'fhéadfadh a bheith iontas má táimid ag bunú an uirlis den chéad uair. Chun íomhánna Android a rith, teastaíonn meaisín fisiciúil nó VM uainn le tacaíocht fíorúlaithe neadaithe. Sa treoir conas, taispeánaim conas é seo a chumasú ar Linux VM. Mar sin féin, más úsáideoir macOS thú agus gur mhaith leat Selenoid a imscaradh go háitiúil, ní bheidh sé seo indéanta tástálacha Android a rith. Ach is féidir leat Linux VM a reáchtáil go háitiúil i gcónaí le 'fíorúlaú neadaithe' cumraithe agus Selenoid a imscaradh taobh istigh.

Léiriú ar staid reatha an bhonneagair

I gcomhthéacs an ailt seo, cuirfimid 2 uirlis leis chun an bonneagar a léiriú. Is iad seo greille seiléiniam le haghaidh tástálacha gréasáin agus tástálacha Selenoid le haghaidh Android. Sa teagasc GitHub, taispeánfaidh mé duit freisin conas Selenoid a úsáid chun tástálacha gréasáin a reáchtáil. 

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí den chineál céanna

  • Tá uirlisí coimeádaithe eile ann, ach is é Docker an ceann is mó tóir. Más mian leat rud éigin eile a thriail, coinnigh i gcuimhne nach n-oibreoidh na huirlisí atá clúdaithe againn chun tástálacha Seiléiniam a rith ag an am céanna as an mbosca.  
  • Mar a dúradh cheana, tá go leor modhnuithe ar ghreille Seiléiniam, mar shampla, Zalenium.

4.CI/CD

Cur síos gairid ar an teicneolaíocht....

Tá an-tóir ar chleachtas an chomhtháthaithe leanúnaigh i bhforbairt agus tá sé ar chomhchéim le córais rialaithe leagan. Ina ainneoin sin, is dóigh liom go bhfuil mearbhall sa téarmaíocht. Sa mhír seo ba mhaith liom cur síos a dhéanamh ar 3 mhodhnú ar an teicneolaíocht seo ó mo thaobh. Ar an idirlíon gheobhaidh tú go leor altanna le léirmhínithe éagsúla, agus tá sé fíor-gnáth má bhíonn difríocht idir do thuairim. Is é an rud is tábhachtaí ná go bhfuil tú ar an leathanach céanna le do chomhghleacaithe.

Mar sin, tá 3 théarma ann: CI - Comhtháthú Leanúnach, CD - Seachadadh Leanúnach agus arís CD - Imscaradh Leanúnach. (Anseo thíos úsáidfidh mé na téarmaí seo as Béarla). Cuireann gach modhnú roinnt céimeanna breise le do phíblíne forbartha. Ach an focal leanúnach (leanúnach) an rud is tábhachtaí. Sa chomhthéacs seo, is éard atá i gceist againn rud a tharlaíonn ó thús go deireadh, gan briseadh ná idirghabháil láimhe. Breathnaímid ar CI & CD agus CD sa chomhthéacs seo.

  • Comhtháthú Leanúnach is é seo an chéad chéim den éabhlóid. Tar éis cód nua a chur isteach chuig an bhfreastalaí, táimid ag súil le haiseolas tapa a fháil go bhfuil ár n-athruithe ceart go leor. Go hiondúil, cuimsíonn CI uirlisí anailíse cód statacha a rith agus tástálacha API aonaid/inmheánacha Ligeann sé seo dúinn faisnéis a fháil faoinár gcód laistigh de chúpla soicind/nóiméad.
  • Seachadadh Leanúnach is céim níos forbartha í ina ndéanaimid tástálacha comhtháthaithe/UI. Mar sin féin, ag an gcéim seo ní fhaighimid torthaí chomh tapa agus a dhéantar le CI. Ar dtús, tógann sé níos mó tástálacha den chineál seo a chur i gcrích. Ar an dara dul síos, sula seolfar é, ní mór dúinn ár n-athruithe ar an timpeallacht tástála/stáitse a úsáid. Ina theannta sin, má tá muid ag caint faoi fhorbairt soghluaiste, ansin is cosúil céim bhreise chun tógáil ar ár n-iarratas.
  • Imscaradh Leanúnach glacann sé leis go scaoilfimid ár n-athruithe ar tháirgeadh go huathoibríoch má éirigh leis na tástálacha glactha go léir sna céimeanna roimhe seo. Ina theannta sin, tar éis an chéim scaoilte, is féidir leat céimeanna éagsúla a chumrú, mar shampla tástálacha deataigh a reáchtáil ar tháirgeadh agus méadracht spéise a bhailiú. Ní féidir Imscaradh Leantach a dhéanamh ach amháin le clúdach maith trí thástálacha uathoibrithe. Má theastaíonn aon idirghabhálacha láimhe, lena n-áirítear tástáil, níl sé seo ann a thuilleadh Leanúnach (leanúnach). Ansin is féidir linn a rá nach gcomhlíonann ár bpíblíne ach an cleachtas maidir le Seachadadh Leanúnach.

Luach ar bhonneagar uathoibrithe

San alt seo, ba cheart dom a shoiléiriú, nuair a labhraímid faoi thástálacha Chomhéadain ó cheann ceann go ceann, go gciallaíonn sé gur cheart dúinn ár n-athruithe agus na seirbhísí gaolmhara a imscaradh chun timpeallachtaí tástála. Comhtháthú Leanúnach - níl an próiseas infheidhme don tasc seo agus ní mór dúinn cúram a ghlacadh de ar a laghad cleachtais Seachadadh Leanúnach a chur i bhfeidhm. Déanann Imscaradh Leanúnach ciall freisin i gcomhthéacs tástálacha Chomhéadain má táimid chun iad a rith i dtáirgeadh.

Agus sula ndéanaimid breathnú ar an léiriú ar an athrú ailtireachta, ba mhaith liom a rá cúpla focal faoi GitLab CI. Murab ionann agus uirlisí CI/CD eile, soláthraíonn GitLab stór cianda agus go leor gnéithe breise eile. Mar sin, tá GitLab níos mó ná CI. Áiríonn sé bainistíocht cód foinse, bainistíocht Agile, píblínte CI/CD, uirlisí logála agus bailiú méadrachta as an mbosca. Tá ailtireacht GitLab comhdhéanta de Gitlab CI/CD agus GitLab Runner. Seo cur síos gairid ón láithreán gréasáin oifigiúil:

Is feidhmchlár gréasáin é Gitlab CI/CD le API a stórálann a staid i mbunachar sonraí, a bhainistíonn tionscadail/tógann agus a sholáthraíonn comhéadan úsáideora. Is feidhmchlár é GitLab Runner a dhéanann próisis tógála. Is féidir é a imscaradh ar leithligh agus oibríonn sé le GitLab CI/CD trí API. Le haghaidh tástálacha a rith, beidh gá agat le sampla Gitlab agus Runner.

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí den chineál céanna

5. Ardáin scamall

Cur síos gairid ar an teicneolaíocht....

San alt seo beimid ag caint faoi threocht tóir ar a dtugtar 'scamaill poiblí'. In ainneoin na mbuntáistí ollmhóra a sholáthraíonn na teicneolaíochtaí fíorúlaithe agus coimeádaithe a bhfuil cur síos orthu thuas, tá acmhainní ríomhaireachta fós ag teastáil uainn. Ceannaíonn cuideachtaí freastalaithe daor nó ionaid sonraí ar cíos, ach sa chás seo is gá ríomhanna a dhéanamh (uaireanta neamhréadúil) ar cé mhéad acmhainní a bheidh de dhíth orainn, cibé an úsáidfimid iad 24/7 agus cad iad na críocha. Mar shampla, éilíonn táirgeadh freastalaí XNUMX/XNUMX, ach an bhfuil acmhainní comhchosúla ag teastáil uainn le haghaidh tástála lasmuigh d'uaireanta oibre? Braitheann sé freisin ar an gcineál tástála atá á dhéanamh. Sampla is ea tástálacha ualaigh/strus a bheartaímid a rith le linn uaireanta neamh-oibre chun torthaí a fháil an lá dár gcionn. Ach is cinnte nach bhfuil infhaighteacht freastalaí XNUMX/XNUMX ag teastáil le haghaidh tástálacha uathoibrithe ó cheann ceann go ceann agus go háirithe ní le haghaidh timpeallachtaí tástála láimhe. I gcásanna den sórt sin, bheadh ​​sé go maith an oiread acmhainní agus is gá a fháil ar éileamh, iad a úsáid, agus stop a íoc nuair nach bhfuil gá leo a thuilleadh. Ina theannta sin, bheadh ​​sé iontach iad a fháil láithreach trí cúpla cliceáil luiche a dhéanamh nó cúpla script a rith. Is chuige seo a úsáidtear scamaill phoiblí. Breathnaímid ar an sainmhíniú:

“Sainmhínítear an scamall poiblí mar sheirbhísí ríomhaireachta a thairgeann soláthraithe tríú páirtí thar an Idirlíon poiblí, a chuireann ar fáil iad d’aon duine ar mian leo iad a úsáid nó a cheannach. Féadfaidh siad a bheith saor in aisce nó a dhíol ar éileamh, rud a ligeann do chustaiméirí íoc as na timthriallta LAP, an stórais nó an bandaleithead a itheann siad amháin."

Tá tuairim ann go bhfuil scamaill phoiblí costasach. Ach is é an príomh-smaoineamh atá acu ná costais chuideachta a laghdú. Mar a luadh cheana, ligeann scamaill phoiblí duit acmhainní a fháil ar éileamh agus íoc as an am a úsáideann tú iad. Chomh maith leis sin, uaireanta déanaimid dearmad go bhfaigheann fostaithe tuarastail, agus is acmhainn daor iad speisialtóirí freisin. Ní mór a chur san áireamh go ndéanann scamall poiblí tacaíocht bonneagair i bhfad níos éasca, rud a ligeann d'innealtóirí díriú ar thascanna níos tábhachtaí. 

Luach ar bhonneagar uathoibrithe

Cad iad na hacmhainní sonracha atá ag teastáil uainn le haghaidh tástálacha Chomhéadain ceann go ceann? Go bunúsach is meaisíní fíorúla nó braislí iad seo (beidh muid ag caint faoi Kubernetes sa chéad chuid eile) chun brabhsálaithe agus aithriseoirí a rith. Dá mhéad brabhsálaithe agus aithriseoirí a theastaíonn uainn a rith ag an am céanna, is ea is mó LAP agus cuimhne a bheidh ag teastáil agus is amhlaidh is mó airgid a chaithfimid íoc as. Mar sin, cuireann scamaill phoiblí i gcomhthéacs uathoibriú tástála ar ár gcumas líon mór (100, 200, 1000...) brabhsálaithe/aithriseoirí a rith ar éileamh, torthaí tástála a fháil chomh tapa agus is féidir agus stop a bheith ag íoc as a leithéid d’acmhainní uirísle. cumhacht. 

Is iad na soláthraithe scamall is coitianta ná Seirbhísí Gréasáin Amazon (AWS), Microsoft Azure, Google Cloud Platform (GCP). Soláthraíonn an treoir conas-le samplaí de conas GCP a úsáid, ach go ginearálta is cuma cad a úsáideann tú le haghaidh tascanna uathoibrithe. Soláthraíonn siad go léir thart ar an fheidhmiúlacht chéanna. De ghnáth, chun soláthraí a roghnú, díríonn an bhainistíocht ar bhonneagar iomlán agus riachtanais ghnó na cuideachta, atá lasmuigh de raon feidhme an ailt seo. Maidir le hinnealtóirí uathoibrithe, beidh sé níos suimiúla comparáid a dhéanamh idir úsáid soláthraithe scamall le húsáid ardáin scamall go sonrach chun críocha tástála, mar shampla Sauce Labs, BrowserStack, BitBar, agus mar sin de. Mar sin déanaimis é freisin! Is é mo thuairim gurb é Sauce Labs an fheirm tástála scamall is cáiliúla, agus is é sin an fáth a d'úsáid mé é le haghaidh comparáide. 

GCP vs Sauce Labs chun críocha uathoibrithe:

Samhlóimid go gcaithfimid 8 dtástálacha gréasáin agus 8 dtástáil Android a reáchtáil ag an am céanna. Chuige seo úsáidfimid GCP agus reáchtálfaimid 2 mheaisín fhíorúla le Selenoid. Ar an gcéad cheann ardóimid 8 gcoimeádán le brabhsálaithe. Ar an dara ceann tá 8 gcoimeádán le aithriseoir. Breathnaímid ar na praghsanna:  

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús
Chun coimeádán amháin a rith le Chrome, ní mór dúinn n1-chaighdeán-1 carr. I gcás Android beidh sé n1-chaighdeán-4 le haghaidh aithriseoir amháin. Go deimhin, bealach níos solúbtha agus níos saoire ná luachanna úsáideora sonracha a shocrú le haghaidh LAP/Cuimhne, ach faoi láthair níl sé seo tábhachtach chun comparáid a dhéanamh le Sauce Labs.

Agus seo iad na taraifí chun Sauce Labs a úsáid:

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús
Creidim gur thug tú an difríocht faoi deara cheana féin, ach soláthróidh mé tábla fós le ríomhanna dár dtasc:

Acmhainní riachtanacha
go mínteach
Uaireanta oibre(8 am - 8 pm)
Uaireanta oibre+ Preemptible

GCP le haghaidh Gréasáin
n1-caighdeánach-1 x 8 = n1-caighdeánach-8
$194.18
23 lá * 12h * 0.38 = $104.88 
23 lá * 12h * 0.08 = $22.08

Sauce Labs le haghaidh Gréasáin
Fíorúil Cloud8 tástálacha comhthreomhara
$1.559
-
-

GCP le haghaidh Android saor in aisce
n1-caighdeánach-4 x 8: n1-caighdeánach-16
$776.72
23 lá * 12h * 1.52 = $419.52 
23 lá * 12h * 0.32 = $88.32

Saotharlanna anlann le haghaidh Android saor in aisce
Real Device Cloud 8 tástálacha comhthreomhara
$1.999
-
-

Mar a fheiceann tú, tá an difríocht i gcostas ollmhór, go háirithe má ritheann tú tástálacha le linn tréimhse oibre dhá uair an chloig amháin. Ach is féidir leat costais a ghearradh níos mó fós má úsáideann tú meaisíní preemptible. Cad é sin?

Is sampla é VM preemptible ar féidir leat a chruthú agus a rith ar phraghas i bhfad níos airde ná mar a bhíonn de ghnáth. Mar sin féin, d'fhéadfadh Inneall Ríomhaireachta deireadh a chur leis na cásanna seo má theastaíonn rochtain ar na hacmhainní sin le haghaidh tascanna eile. Is éard atá i gcásanna réamh-mheasta ná toilleadh an Innill Ríomh barrachais, mar sin athraíonn a n-infhaighteacht de réir úsáide.

Má tá d’aipeanna fulangach le fabhtanna agus má tá siad in ann réamhorduithe a d’fhéadfadh a bheith ann a sheasamh, is féidir le cásanna réamh-mheasta do chostais Ríomh Inneall a laghdú go suntasach. Mar shampla, féadann jabphróiseáil baisc a reáchtáil ar chásanna réamh-mheasta. Má thagann deireadh le cuid de na cásanna sin le linn na próiseála, laghdaítear an post ach ní stopann sé go hiomlán. Críochnaíonn cásanna réamh-mheasta do thascanna próiseála baisc gan ualach oibre breise a chur ar na cásanna atá agat cheana féin agus gan éileamh ort praghas iomlán a íoc le haghaidh gnáth-ócáidí breise.

Agus níl deireadh leis fós! I ndáiríre, táim cinnte nach ndéanann aon duine tástálacha ar feadh 12 uair an chloig gan sos. Agus más amhlaidh, ansin is féidir leat meaisíní fíorúla a thosú agus a stopadh go huathoibríoch nuair nach bhfuil gá leo. Féadfar an t-am úsáide iarbhír a laghdú go 6 huaire in aghaidh an lae. Ansin laghdófar an íocaíocht i gcomhthéacs ár dtasc go $11 in aghaidh na míosa le haghaidh 8 mbrabhsálaí. Nach iontach é seo? Ach le meaisíní preemptible ní mór dúinn a bheith cúramach agus ullmhaithe le haghaidh cur isteach agus éagobhsaíocht, cé gur féidir soláthar a dhéanamh do na cásanna seo agus iad a láimhseáil i mbogearraí. Is fiú é!

Ach ní deirim ar chor ar bith 'ná húsáid feirmeacha tástála néil riamh'. Tá roinnt buntáistí acu. Ar an gcéad dul síos, ní hamháin meaisín fíorúil é seo, ach réiteach uathoibrithe tástála lán-chuimsitheach le sraith feidhmiúlacht as an mbosca: cianrochtain, logs, screenshots, taifeadadh físeáin, brabhsálaithe éagsúla agus gléasanna soghluaiste fisiceacha. I go leor cásanna, is féidir é seo a bheith ina rogha eile riachtanach chic. Tá ardáin tástála an-úsáideach le haghaidh uathoibriú IOS, nuair nach féidir le scamaill phoiblí ach córais Linux/Windows a thairiscint. Ach beimid ag caint faoi iOS sna hailt seo a leanas. Molaim i gcónaí féachaint ar an gcás agus tosú ó na tascanna: i gcásanna áirithe tá sé níos saoire agus níos éifeachtaí scamaill phoiblí a úsáid, agus i gcásanna eile is fiú an t-airgead a chaitear ar na hardáin tástála.

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí cosúla:

6. Ceolfhoireann

Cur síos gairid ar an teicneolaíocht....

Tá dea-scéala agam – táimid beagnach ag deireadh an ailt! I láthair na huaire, is éard atá inár mbonneagar uathoibrithe ná tástálacha gréasáin agus Android, a reáchtáilimid trí GitLab CI go comhthreomhar, ag baint úsáide as uirlisí cumasaithe Docker: greille seiléiniam agus Selenoid. Ina theannta sin, úsáidimid meaisíní fíorúla cruthaithe trí GCP chun coimeádáin a óstáil le brabhsálaithe agus aithriseoir. Chun costais a laghdú, cuirimid tús leis na meaisíní fíorúla seo ach amháin ar éileamh agus stopfaimid iad nuair nach bhfuil tástáil á dhéanamh. An bhfuil aon rud eile is féidir lenár mbonneagar a fheabhsú? Is é an freagra tá! Téigh in aithne ar Kubernetes (K8s)!

Ar dtús, déanaimis féachaint ar an gcaoi a bhfuil gaol ag na focail orchestration, cluster, agus Kubernetes lena chéile. Ar leibhéal ard, is éard atá i gceolfhoirneacht an córas a imscarann ​​agus a bhainistíonn feidhmchláir. Le haghaidh uathoibriú tástála, is iad na hiarratais coimeádaithe sin ná greille Seiléiniam agus Selenoid. Comhlánaíonn Docker agus K8s a chéile. Úsáidtear an chéad cheann le haghaidh feidhmchlár a imscaradh, an dara ceann le haghaidh ceolfhoirne. Ina dhiaidh sin, is braisle é K8s. Is é tasc an bhraisle VManna a úsáid mar Nóid, a ligeann duit feidhmiúlacht, cláir agus seirbhísí éagsúla a shuiteáil laistigh de fhreastalaí amháin (cnuasach). Má theipeann ar aon cheann de na Nóid, roghnóidh Nóid eile, rud a chinntíonn oibriú gan bhriseadh ar ár n-iarratas. Ina theannta sin, tá feidhmiúlacht thábhachtach ag K8s a bhaineann le scálú, a bhuíochas sin a fhaighimid go huathoibríoch an méid acmhainní is fearr is féidir bunaithe ar na teorainneacha ualaigh agus socraithe.

Le fírinne, ní tasc fánach ar chor ar bith é Kubernetes a imscaradh de láimh ón tús. Fágfaidh mé nasc chuig an treoir cáiliúil "Kubernetes The Hard Way" agus má tá suim agat, is féidir leat é a chleachtadh. Ach, go fortunately, tá modhanna agus uirlisí eile ann. Is é an bealach is éasca ná Google Kubernetes Engine (GKE) a úsáid i GCP, rud a ligfidh duit braisle réidh a fháil i gceann cúpla cad a tharlaíonn. Molaim an cur chuige seo a úsáid chun tús a chur leis an bhfoghlaim, mar ligfidh sé duit díriú ar fhoghlaim conas na K8anna a úsáid le haghaidh do thascanna seachas foghlaim conas ba cheart na comhpháirteanna inmheánacha a chomhtháthú lena chéile. 

Luach ar bhonneagar uathoibrithe

Breathnaímis ar roinnt gnéithe suntasacha a sholáthraíonn na K8anna:

  • imscaradh feidhmchlár: braisle ilnóid a úsáid in ionad VManna;
  • scálú dinimiciúil: laghdaíonn sé costas na n-acmhainní a úsáidtear ar éileamh amháin;
  • féin-leighis: aisghabháil uathoibríoch na pods (mar thoradh ar a bhfuil coimeádáin athchóirithe freisin);
  • tabhairt isteach nuashonruithe agus rolladh siar athruithe gan aga neamhfhónaimh: ní chuireann nuashonrú uirlisí, brabhsálaithe agus aithriseoirí isteach ar obair na n-úsáideoirí reatha

Ach ní piléar airgid iad na K8s fós. Chun na buntáistí agus na teorainneacha go léir a thuiscint i gcomhthéacs na n-uirlisí atá á meas againn (greille seiléiniam, Selenoid), déanfaimid plé gairid ar struchtúr K8s. Tá dhá chineál Nóid sa Bhraisle: Máistir-nóid agus Nóid Oibrithe. Tá Máistir Nóid freagrach as cinntí bainistíochta, imscartha agus sceidealaithe. Is iad nóid oibrithe an áit a seoltar feidhmchláir. Bíonn timpeallacht ama rite coimeádáin sna nóid freisin. Is é ár gcás, is é seo Docker, atá freagrach as oibríochtaí a bhaineann le coimeádán. Ach tá réitigh mhalartacha ann freisin, mar shampla coimeádta. Tá sé tábhachtach a thuiscint nach mbaineann scálú nó féin-leighis go díreach le coimeádáin. Déantar é seo a chur i bhfeidhm trí líon na pods a shuimiú/laghdú, a mbíonn coimeádáin iontu (go hiondúil coimeádán amháin in aghaidh an choda, ach ag brath ar an tasc is féidir go mbeidh níos mó ann). Tá an t-ordlathas ardleibhéil comhdhéanta de nóid oibrithe, taobh istigh díobh tá pods, taobh istigh díobh a ardaítear coimeádáin.

Tá an ghné scálaithe ríthábhachtach agus is féidir í a chur i bhfeidhm ar an dá nód laistigh de linn nód braisle agus pods laistigh de nód. Tá 2 chineál scálú ann a bhaineann leis an dá nóid agus pods. Is é an chéad chineál cothrománach - tarlaíonn scálaithe trí mhéadú ar líon na nóid/pods. Tá an cineál seo níos fearr. Tá an dara cineál, dá réir sin, ingearach. Déantar scálaiú trí mhéid na nóid/pods a mhéadú, agus ní a n-uimhir.

Anois féachaimis ar ár n-uirlisí i gcomhthéacs na dtéarmaí thuas.

Greille seiléiniam

Mar a luadh cheana, is uirlis an-tóir é greille seiléiniam, agus ní haon iontas é go bhfuil sé coimeádaithe. Mar sin, ní haon iontas é gur féidir greille seiléiniam a imscaradh i K8anna. Tá sampla de conas é seo a dhéanamh le fáil i stór oifigiúil K8s. Mar is gnách, cuirim naisc ag deireadh an ailt. Ina theannta sin, léiríonn an treoir conas-le conas é seo a dhéanamh i Terraform. Tá treoracha ann freisin maidir le conas líon na pods a bhfuil coimeádáin bhrabhsálaí iontu a scála. Ach ní tasc iomlán soiléir é an fheidhm scálaithe uathoibríoch i gcomhthéacs K8anna. Nuair a thosaigh mé ag staidéar, ní bhfuair mé aon treoir phraiticiúil nó moltaí. Tar éis roinnt staidéar agus turgnaimh le tacaíocht ó fhoireann DevOps, roghnaigh muid an cur chuige maidir le coimeádáin a ardú leis na brabhsálaithe riachtanacha taobh istigh de pod amháin, atá suite taobh istigh de nód oibrithe amháin. Ligeann an modh seo dúinn straitéis scálú cothrománach na nóid a chur i bhfeidhm trína n-uimhir a mhéadú. Tá súil agam go n-athróidh sé seo sa todhchaí agus feicfimid cur síos níos mó agus níos mó ar chur chuige níos fearr agus réitigh réidh, go háirithe tar éis greille Seiléiniam 4 a scaoileadh le hailtireacht inmheánach athraithe.

Selenoid:

Is é imscaradh selenoid i K8anna an díomá is mó faoi láthair. Níl siad comhoiriúnach. Go teoiriciúil, is féidir linn coimeádán Selenoid a ardú taobh istigh de pod, ach nuair a thosaíonn Selenoid ag seoladh coimeádáin le brabhsálaithe, beidh siad fós taobh istigh den pod céanna. Déanann sé seo scálú dodhéanta agus, mar thoradh air sin, ní bheidh obair Selenoid taobh istigh de bhraisle difriúil ó obair taobh istigh de mheaisín fíorúil. Deireadh an scéil.

Moon:

Agus an bac seo ar an eolas agus iad ag obair le Selenoid, d'eisigh na forbróirí uirlis níos cumhachtaí ar a dtugtar Moon. Dearadh an uirlis seo ar dtús chun oibriú le Kubernetes agus, mar thoradh air sin, is féidir agus ba cheart an ghné uathscálaithe a úsáid. Thairis sin, déarfainn gurb amhlaidh atá i láthair na huaire an t-aon cheann uirlis sa domhan Seiléiniam, a bhfuil tacaíocht bhraisle ó dhúchas K8s as an mbosca (ar fáil a thuilleadh, féach an chéad uirlis eile ). Is iad seo a leanas príomhghnéithe Moon a sholáthraíonn an tacaíocht seo: 

Go hiomlán gan stát. Stórálann Selenoid faisnéis chuimhne faoi sheisiúin bhrabhsálaí atá ar siúl faoi láthair. Más rud é ar chúis éigin a thuairteanna próiseas - ansin gach seisiún reatha a cailleadh. I gcodarsnacht leis sin níl aon stát inmheánach ag Gealach agus is féidir í a mhacasamhlú thar ionaid sonraí. Fanann seisiúin brabhsálaithe beo fiú má thiteann macasamhail amháin nó níos mó.

Mar sin, is réiteach iontach é Moon, ach tá fadhb amháin ann: níl sé saor in aisce. Braitheann an praghas ar líon na seisiún. Ní féidir leat ach 0-4 seisiún a reáchtáil saor in aisce, rud nach bhfuil an-úsáideach. Ach, ag tosú ón gcúigiú seisiún, beidh ort $5 a íoc an ceann. Féadfaidh an scéal a bheith difriúil ó chuideachta go cuideachta, ach inár gcás, níl aon phointe ag baint úsáide as Moon. Mar a thuairiscigh mé thuas, is féidir linn VManna a reáchtáil le Greille Seiléiniam ar éileamh nó méadú ar líon na Nóid sa bhraisle. Ar feadh thart ar phíblíne amháin, seolann muid 500 brabhsálaithe agus stopaimid na hacmhainní go léir tar éis na tástálacha a bheith críochnaithe. Dá mbainfimis úsáid as Gealach, bheadh ​​orainn 500 x 5 = $2500 sa bhreis a íoc in aghaidh na míosa, is cuma cé chomh minic agus a reáchtáilimid tástálacha. Arís, níl mé ag rá ná húsáid Moon. Maidir le do thascanna, féadfaidh sé seo a bheith ina réiteach fíor-riachtanach, mar shampla, má tá go leor tionscadal/foirne agat i d’eagraíocht agus má tá cnuasach comónta ollmhór uait do gach duine. Mar is gnáth, fágaim nasc ag an deireadh agus molaim na ríomhanna riachtanacha go léir a dhéanamh i gcomhthéacs do thasc.

Callisto: (Aird! Níl sé seo san alt bunaidh agus tá sé le fáil san aistriúchán Rúisis amháin)

Mar a dúirt mé, is uirlis an-tóir é Seiléiniam, agus tá an réimse TF ag forbairt go han-tapa. Agus mé ag obair ar an aistriúchán, bhí uirlis nua geallta ar a dtugtar Callisto le feiceáil ar an ngréasán (hello Cypress agus killers Selenium eile). Oibríonn sé ó dhúchas le K8s agus ligeann sé duit coimeádáin Selenoid a reáchtáil i pods, a dháileadh ar fud Nóid. Oibríonn gach rud ceart as an mbosca, lena n-áirítear uathscálú. Iontach, ach ní mór a thástáil. D'éirigh liom an uirlis seo a imscaradh cheana féin agus roinnt turgnaimh a rith. Ach tá sé ró-luath teacht ar chonclúidí, tar éis torthaí a fháil thar achar fada, b'fhéidir go ndéanfaidh mé athbhreithniú in ailt amach anseo. Faoi láthair níl mé ag fágáil ach naisc le haghaidh taighde neamhspleách.  

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc chun iniúchadh a dhéanamh

Uirlisí den chineál céanna

7. Bonneagar mar Chód (IaC)

Cur síos gairid ar an teicneolaíocht....

Agus anois táimid ag teacht go dtí an chuid dheireanach. De ghnáth, ní bhíonn innealtóirí uathoibrithe freagrach as an teicneolaíocht seo agus tascanna gaolmhara. Agus tá cúiseanna leis seo. Ar an gcéad dul síos, i go leor eagraíochtaí, tá saincheisteanna bonneagair faoi rialú na roinne DevOps agus is cuma leis na foirne forbartha i ndáiríre cad a fhágann go n-oibríonn an phíblíne agus conas is gá tacú le gach rud a bhaineann leis. Ar an dara dul síos, déanaimis a bheith macánta, níl an cleachtas Bonneagar mar Chód (IaC) glactha fós i go leor cuideachtaí. Ach is cinnte gur treocht choitianta é agus tá sé tábhachtach iarracht a dhéanamh a bheith páirteach sna próisis, cur chuige agus uirlisí a bhaineann leis. Nó ar a laghad fanacht suas chun dáta.

Cuirimis tús leis an spreagadh chun an cur chuige seo a úsáid. Tá sé pléite againn cheana féin chun tástálacha a reáchtáil i GitlabCI, go mbeidh na hacmhainní de dhíth orainn ar a laghad chun Gitlab Runner a rith. Agus chun coimeádáin le brabhsálaithe/aithriseoirí a rith, ní mór dúinn VM nó braisle a chur in áirithe. Chomh maith le hacmhainní tástála, ní mór dúinn méid suntasach cumais chun tacú le forbairt, stáitsiú, timpeallachtaí táirgthe, a chuimsíonn bunachair shonraí, sceidil uathoibríocha, cumraíochtaí líonra, cothromóirí ualaigh, cearta úsáideoirí, agus mar sin de. Is í an phríomhcheist ná an iarracht a theastaíonn chun tacú leis. Tá go leor bealaí ann inar féidir linn athruithe a dhéanamh agus nuashonruithe a leathadh amach. Mar shampla, i gcomhthéacs GCP, is féidir linn an consól Chomhéadain a úsáid sa bhrabhsálaí agus gach gníomh a dhéanamh trí cnaipí a chliceáil. Rogha eile a bheadh ​​ann ná glaonna API a úsáid chun idirghníomhú le haonáin scamall, nó úsáid a bhaint as áirgiúlacht na líne ordaithe cloud chun na hionramhálacha atá ag teastáil a dhéanamh. Ach le líon mór eintiteas agus eilimintí bonneagair i ndáiríre, bíonn sé deacair nó fiú dodhéanta gach oibríocht a dhéanamh de láimh. Ina theannta sin, tá na gníomhartha láimhe seo go léir neamhrialaithe. Ní féidir linn iad a chur isteach le haghaidh athbhreithnithe roimh fhorghníomhú, córas rialaithe leagan a úsáid, agus na hathruithe ba chúis leis an teagmhas a thabhairt ar ais go tapa. Chun fadhbanna den sórt sin a réiteach, chruthaigh agus chruthaigh innealtóirí scripteanna uathoibríocha bash/bhlaosc, nach bhfuil mórán níos fearr ná na modhanna roimhe seo, ós rud é nach bhfuil siad chomh furasta sin a léamh, a thuiscint, a chothabháil agus a mhodhnú i stíl nós imeachta.

San Airteagal seo agus conas-a threorú, úsáidim 2 uirlis a bhaineann le cleachtas IaC. Is iad seo Terraform agus Insible. Creideann roinnt daoine nach ndéanann sé ciall iad a úsáid ag an am céanna, ós rud é go bhfuil a bhfeidhmiúlacht cosúil agus go bhfuil siad idirmhalartaithe. Ach is é fírinne an scéil go dtugtar tascanna go hiomlán difriúil dóibh ar dtús. Agus deimhníodh gur cheart go gcomhlánódh na huirlisí seo a chéile ag cur i láthair comhpháirteach ó fhorbróirí a ionadaíonn HashiCorp agus RedHat. Is é an difríocht choincheapúil ná gur uirlis soláthair é Terraform chun na freastalaithe iad féin a bhainistiú. Cé gur uirlis bhainistíochta cumraíochta é Ansible a bhfuil sé mar chúram air bogearraí a shuiteáil, a chumrú agus a bhainistiú ar na freastalaithe seo.

Príomhghné idirdhealaitheach eile de na huirlisí seo is ea an stíl códaithe. Murab ionann agus bash agus Ansible, úsáideann Terraform stíl dhearbhaithe bunaithe ar chur síos ar an staid deiridh atá le baint amach mar thoradh ar fhorghníomhú. Mar shampla, má táimid chun 10 VM a chruthú agus na hathruithe a chur i bhfeidhm trí Terraform, gheobhaidh muid 10 VM. Má ritheann muid an script arís, ní tharlóidh aon rud ós rud é go bhfuil 10 VM againn cheana féin, agus tá a fhios ag Terraform faoi seo toisc go stórálann sé staid reatha an bhonneagair i gcomhad stáit. Ach úsáideann Ansible cur chuige nós imeachta agus, má iarrann tú air 10 VM a chruthú, ansin ar an gcéad seoladh gheobhaidh muid 10 VM, cosúil le Terraform. Ach tar éis atosú beidh 20 VM againn cheana féin. Is é seo an difríocht thábhachtach. I stíl nós imeachta, ní dhéanaimid stóráil ar an staid reatha agus ní dhéanaimid cur síos go simplí ar sheicheamh céimeanna a chaithfear a dhéanamh. Ar ndóigh, is féidir linn cásanna éagsúla a láimhseáil, roinnt seiceálacha a dhéanamh maidir le hacmhainní a bheith ann agus an staid reatha, ach ní fiú dúinn ár gcuid ama a chur amú agus iarracht a dhéanamh an loighic seo a rialú. Ina theannta sin, méadaíonn sé seo an baol botúin a dhéanamh. 

Agus achoimre á dhéanamh ar gach ceann díobh thuas, is féidir linn a thabhairt ar an tátal gur uirlis níos oiriúnaí iad an nodaireacht Terraform agus dearbhach chun freastalaithe a sholáthar. Ach is fearr obair na bainistíochta cumraíochta a tharmligean chuig Ansible. Agus sin as an mbealach, déanaimis féachaint ar chásanna úsáide i gcomhthéacs uathoibrithe.

Luach ar bhonneagar uathoibrithe

Is é an t-aon rud atá tábhachtach a thuiscint anseo ná gur cheart an bonneagar uathoibrithe tástála a mheas mar chuid de bhonneagar iomlán na cuideachta. Ciallaíonn sé seo nach mór gach cleachtas IaC a chur i bhfeidhm go domhanda ar acmhainní na heagraíochta ar fad. Braitheann cé atá freagrach as seo ar do phróisis. Tá níos mó taithí ag foireann DevOps ar na saincheisteanna seo, feiceann siad an pictiúr iomlán ar a bhfuil ag tarlú. Mar sin féin, tá baint níos mó ag innealtóirí QA leis an bpróiseas uathoibrithe tógála agus struchtúr an phíblíne, rud a ligeann dóibh na hathruithe riachtanacha agus na deiseanna feabhsaithe go léir a fheiceáil níos fearr. Is é an rogha is fearr ná oibriú le chéile, eolas agus smaointe a mhalartú chun an toradh ionchais a bhaint amach. 

Seo roinnt samplaí de Terraform and Ansible a úsáid i gcomhthéacs uathoibrithe tástála agus na huirlisí a phléamar roimhe seo:

1. Déan cur síos ar shaintréithe agus paraiméadair riachtanacha VManna agus braislí ag baint úsáide as Terraform.

2. Ag baint úsáide as Ansible, suiteáil na huirlisí atá riachtanach le haghaidh tástála: docker, Selenoid, Selenium Eangach agus íoslódáil na leaganacha riachtanacha de na brabhsálaithe / aithriseoir.

3. Ag baint úsáide as Terraform, déan cur síos ar shaintréithe an VM ina seolfar GitLab Runner.

4. Suiteáil GitLab Runner agus na huirlisí riachtanacha a ghabhann leis ag baint úsáide as Ansible, socruithe socraithe agus cumraíochtaí.

Léiriú ar staid reatha an bhonneagair

Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Naisc le fiosrú:

Uirlisí den chineál céanna

Déanaimis achoimre air!

Céim
teicneolaíocht
uirlisí
Luach ar bhonneagar uathoibrithe

1
Rith áitiúil
Nód.js, Seiléiniam, Appium

  • Na huirlisí is coitianta le haghaidh gréasáin agus soghluaiste
  • Tacaíonn sé le go leor teangacha agus ardán (Node.js san áireamh)

2
Córais rialaithe leagan 
dul

  • Sochair chosúla le cód forbartha

3
Coimeádán
Docker, greille seiléiniam, Selenoid (Gréasán, Android)

  • Tástálacha a rith ag an am céanna
  • Timpeallachtaí scoite
  • Uasghráduithe leagan simplí, solúbtha
  • Acmhainní neamhúsáidte a stopadh go dinimiciúil
  • Éasca a chur ar bun

4
CI/CD
Gitlab CI

  • Tástáil cuid den phíblíne
  • Aiseolas Tapa
  • Infheictheacht don chuideachta/foireann iomlán

5
Ardáin scamall
Ardán Google Cloud

  • Acmhainní ar éileamh (ní íocaimid ach amháin nuair is gá)
  • Éasca a bhainistiú agus a nuashonrú
  • Infheictheacht agus rialú na n-acmhainní go léir

6
Orchestration
Kubernetes
I gcomhthéacs coimeádáin a bhfuil brabhsálaithe/aithriseoirí istigh iontu:

  • Scálú/uathscálú
  • Féin-leighis
  • Nuashonruithe agus rolladh siar gan bhriseadh

7
Bonneagar mar chód (IaC)
Terraform, Freagrach

  • Buntáistí cosúla le bonneagar forbartha
  • Na buntáistí go léir a bhaineann le leagan cód
  • Éasca le hathruithe a dhéanamh agus a chothabháil
  • avtomatizirovano

Léaráidí meabhairmhapa: éabhlóid an bhonneagair

céim 1: Áitiúil
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Céim 2: VCS
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

step3: Coimeádán 
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Céim 4: CI/CD 
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

step5: Ardáin Cloud
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Céim 6: Ceolfhoireann
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Céim 7: IaC
Ní le haghaidh DevOps amháin atá uirlisí DevOps. An próiseas chun bonneagar uathoibrithe tástála a thógáil ón tús

Cad atá romhainn?

Mar sin, is é seo deireadh an ailt. Ach mar fhocal scoir, ba mhaith liom roinnt comhaontuithe a bhunú leat.

Ó do thaobh
Mar a dúradh ag an tús, ba mhaith liom go mbeadh an t-alt in úsáid go praiticiúil agus go gcabhródh sé leat an t-eolas a fuarthas san fhíorobair a chur i bhfeidhm. cuirim arís nasc chuig treoir phraiticiúil.

Ach fiú ina dhiaidh sin, ná stop, cleachtaigh, déan staidéar ar naisc agus leabhair ábhartha, faigh amach conas a oibríonn sé i do chuideachta, aimsigh áiteanna is féidir a fheabhsú agus glac páirt ann. Ádh mór!

Ó mo thaobh

Ón teideal is féidir leat a fheiceáil nach raibh anseo ach an chéad chuid. In ainneoin gur tharla sé a bheith sách mór, níl ábhair thábhachtacha clúdaithe anseo fós. Sa dara cuid, tá sé beartaithe agam féachaint ar bhonneagar uathoibrithe i gcomhthéacs IOS. Mar gheall ar shrianta Apple ar ionsamhlóirí iOS a rith ar chórais macOS amháin, tá ár raon réitigh cúngaithe. Mar shampla, nílimid in ann Docker a úsáid chun an t-insamhlóir nó scamaill phoiblí a rith chun meaisíní fíorúla a rith. Ach ní chiallaíonn sé seo nach bhfuil roghanna eile ann. Déanfaidh mé iarracht tú a choinneáil suas chun dáta le réitigh chun cinn agus uirlisí nua-aimseartha!

Chomh maith leis sin, níor luaigh mé topaicí sách mór a bhaineann le monatóireacht. I gCuid 3, táim chun breathnú ar na huirlisí monatóireachta bonneagair is coitianta agus cad iad na sonraí agus na méadrachtaí atá le breithniú.

Agus ar deireadh. Sa todhchaí, tá sé beartaithe agam cúrsa físe a scaoileadh ar bhonneagar tástála tógála agus uirlisí coitianta. Faoi láthair, tá go leor cúrsaí agus léachtaí ar DevOps ar an Idirlíon, ach cuirtear na hábhair go léir i láthair i gcomhthéacs na forbartha, ní i gcomhthéacs an uathoibrithe tástála. Ar an tsaincheist seo, tá aiseolas ag teastáil uaim i ndáiríre maidir le cibé an mbeidh cúrsa den sórt sin suimiúil agus luachmhar don phobal tástálaithe agus innealtóirí uathoibrithe. Go raibh maith agat roimh ré!

Foinse: will.com

Add a comment