DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

Vaega 1: Upega Tafaʻilagi/Android

mataʻi: o lenei tusiga o se faaliliuga i le gagana Rusia o le uluai tusiga "O meafaigaluega DevOps e le gata mo DevOps. "Fausiaina o meafaitino o masini su'ega mai le amataga." Ae ui i lea, o faʻataʻitaʻiga uma, fesoʻotaʻiga, upusii ma faaupuga o loʻo faʻasaoina i le gagana muamua e aloese ai mai le faʻaseseina o le uiga pe a faaliliuina i le gagana Rusia. Ou te manaʻo ia e fiafia e suʻesuʻe!

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

I le taimi nei, o le DevOps faʻapitoa o se tasi o mea sili ona manaʻomia i le IT alamanuia. Afai e te tatalaina nofoaga taʻutaʻua suʻesuʻega galuega ma faʻamama i totogi, o le a e vaʻaia o galuega e fesoʻotaʻi ma DevOps o loʻo i luga o le lisi. Ae ui i lea, e taua le malamalama o lenei mea e masani ona faasino i se tulaga 'Senior', o lona uiga o le sui tauva e maualuga lona tomai, malamalama i tekinolosi ma meafaigaluega. E o'o mai fo'i ma se maualuga maualuga o le matafaioi e feso'ota'i ma le fa'agaioiina e le fa'alavelaveina o le gaosiga. Ae ui i lea, na amata ona galo ia i matou le DevOps. I le taimi muamua, e le o se tagata patino poʻo se matagaluega. Afai tatou te su'eina fa'auigaga o lenei faaupuga, o le a tatou maua le tele o nauna matagofie ma sa'o, e pei o metotia, faiga, filosofia fa'aleaganu'u, vaega o manatu, ma isi.

O la'u tomai fa'apitoa o se su'ega masini inisinia (QA automation engineer), ae ou te talitonu e le tatau ona fa'afeso'ota'i na'o le tusiaina o su'ega ta'avale po'o le fa'atupuina o fa'ata'ita'iga fa'avae su'ega. I le 2020, e manaʻomia foʻi le malamalama i atinaʻe masini. Ole mea lea e mafai ai e oe ona fa'atulagaina le faiga otometi e oe lava, mai le fa'atinoina o su'ega i le tu'uina atu o fa'ai'uga i pa'aga uma e tusa ai ma au sini. O se taunuuga, o tomai DevOps e tatau ona faʻataunuʻuina le galuega. Ma o nei mea uma e lelei, ae, o le mea e leaga ai, o loʻo i ai se faʻafitauli (spoiler: taumafai lenei tusiga e faʻafaigofie lenei faʻafitauli). Ole manatu ole DevOps e faigata. Ma o lenei mea e manino, aua o le a le totogiina e kamupani se tele mo se mea e faigofie ona fai ... I le lalolagi DevOps, o loʻo i ai le tele o meafaigaluega, faaupuga, ma faiga e manaʻomia ona faʻatautaia. O lenei mea e sili ona faigata i le amataga o se galuega ma faʻalagolago i le faʻaputuina o poto masani faʻapitoa.

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga
puna: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

Atonu o le a tatou faaiuina i le vaega tomua ma taulai atu i le faamoemoega o lenei tusiga. 

O le ā le uiga o lenei tala?

I lenei tusiga, o le a ou faʻasoa atu loʻu poto masani i le fausiaina o se faʻataʻitaʻiga masini suʻega. E tele faʻamatalaga o faʻamatalaga i luga ole Initaneti e uiga i meafaigaluega eseese ma pe faʻapefea ona faʻaogaina, ae ou te manaʻo e vaʻavaʻai i latou i le tulaga o le masini. Ou te talitonu o le tele o inisinia otometi e masani i le tulaga pe a leai se tasi sei vagana ai oe e faʻatautaia suʻega atiaʻe pe popole i le tausia. O se taunuuga, o suʻega ua tuai ma e tatau ona e faʻaalu se taimi e faʻafouina ai. Ma le isi, i le amataga o se galuega, e mafai ona avea ma se galuega faigata: filifili ma le poto po o fea meafaigaluega e tatau ona fesoasoani e faʻaumatia se faʻafitauli tuʻuina atu, pe faʻapefea ona filifili, faʻapipiʻi ma tausia. O nisi o tagata suʻega e liliu atu i DevOps (tagata) mo se fesoasoani ma, ia tatou faʻamaoni, o lenei auala e aoga. I le tele o tulaga atonu e na o le pau lea o le filifiliga talu ai tatou te le maua le vaʻaia i faʻalagolago uma. Ae pei ona tatou iloa, DevOps e pisi tele tama, aua e tatau ona latou mafaufau e uiga i atinaʻe atoa a le kamupani, faʻapipiʻiina, mataʻituina, microservices ma isi galuega tutusa e faʻatatau i le faʻalapotopotoga / 'au. E pei ona masani ai, o le masini e le o se faʻamuamua. I se tulaga faapena, e tatau ona tatou taumafai e faia mea uma e mafai i la tatou vaega mai le amataga e oo i le faaiuga. O lenei mea o le a faʻaitiitia ai faʻalagolago, faʻavavevave galuega, faʻaleleia o tatou tomai ma mafai ai ona tatou vaʻai i le ata tele o mea o loʻo tupu.

O le tusiga o loʻo tuʻuina atu ai meafaigaluega sili ona lauiloa ma taʻutaʻua ma faʻaalia pe faʻafefea ona faʻaogaina e fausia ai se atinaʻe otometi i lea laasaga ma lea laasaga. O vaega taʻitasi o loʻo faʻatusalia e meafaigaluega na faʻataʻitaʻiina e ala i aafiaga patino. Ae e le faapea e tatau ona e faaaogaina le mea lava e tasi. O meafaigaluega lava ia e le taua, e foliga mai ma ua le toe aoga. O la matou galuega faʻainisinia o le malamalama lea i mataupu faavae: aisea matou te manaʻomia ai lenei vaega o meafaigaluega ma o a faʻafitauli o galuega e mafai ona matou foia ma la latou fesoasoani. O le mafuaaga lena i le faaiuga o vaega taʻitasi ou te tuʻuina sootaga i meafaigaluega tutusa e mafai ona faʻaaogaina i lau faʻalapotopotoga.

O le a le mea e le o iai i lenei tusiga

Ou te toe fai atu o le tusiga e leʻo faʻatatau i meafaigaluega faʻapitoa, o lea o le a leai se faʻaofiina o code mai faʻamaumauga ma faʻamatalaga o tulafono faʻapitoa. Ae i le faaiuga o vaega taitasi ou te tuua ai sootaga mo suesuega auiliili.

E faia lenei mea ona: 

  • o lenei mea e matua faigofie lava ona maua i punaoa eseese (pepa, tusi, vasega vitio);
  • afai e amata ona loloto atili, e tatau ona tatou tusia 10, 20, 30 vaega o lenei tusiga (aʻo fuafuaga e 2-3);
  • Ou te le manaʻo e faʻaumatia lou taimi talu ai e te manaʻo e faʻaoga isi meafaigaluega e ausia ai sini tutusa.

Faataitai

Ou te matua mana'o lava ia aoga lenei mea i tagata faitau uma, ae le na o le faitau ma galo. I soo se suʻesuʻega, o le faʻataʻitaʻiga o se vaega taua tele. Mo lenei mea ua ou saunia GitHub faleteuoloa ma faʻatonuga taʻitasi i le auala e fai ai mea uma mai le sasa. O loʻo iai foʻi meaaoga o loʻo faʻatali mo oe e faʻamautinoa e te le kopiina ma le le mafaufau laina o poloaiga o loʻo e faʻatinoina.

Fuafuaga

laʻa
Tekonolosi
Meafaigaluega

1
Fa'alotoifale tamo'e (sauni i luga ole laiga / Android fa'ata'ita'iga fa'ata'ita'iga ma fa'agasolo ile lotoifale) 
Node.js, Seleni, Appium

2
Faiga fa'atonutonu faiga 
Git

3
Containing
Docker, Seleni grid, Selenoid (Web, Android)

4
CI/CD
Gitlab CI

5
Ao fa'avae
Google Cloud Platform

6
Orchestration
Kubernetes

7
Atina'e e pei o se tulafono (IaC)
Terraform, Ansible

Fauga o vaega taitasi

Ina ia faʻamanino le faʻamatalaga, o vaega taʻitasi e faʻamatalaina e tusa ai ma le otootoga lenei:

  • faʻamatalaga puupuu o tekinolosi,
  • tau mo atina'e tau masini,
  • fa'ata'ita'iga o le tulaga o iai nei aseta,
  • feso'ota'iga i su'esu'ega,
  • meafaigaluega faapena.

1. Fa'atino su'ega i le lotoifale

Fa'amatalaga puupuu o tekinolosi

Ua na'o se la'asaga sauniuni e fa'atino su'ega fa'ata'ita'i i totonu o le atunu'u ma fa'amaonia ua pasi. I le vaega faʻatino, o loʻo faʻaaogaina Node.js, ae o le gagana polokalame ma le faʻavae e le taua foi ma e mafai ona e faʻaogaina mea o loʻo faʻaaogaina i lau kamupani. 

Ae ui i lea, i le avea ai ma meafaigaluega faʻapitoa, ou te fautuaina le faʻaaogaina o Selenium WebDriver mo luga o upega tafaʻilagi ma Appium mo le Android platform, i le faasologa, talu ai i isi laasaga o le a matou faʻaogaina ata Docker e faʻatulagaina e galulue faʻatasi ma nei meafaigaluega. E le gata i lea, e faʻatatau i galuega manaʻomia, o nei meafaigaluega e sili ona manaʻomia i le maketi.

E pei ona e maitauina, matou te mafaufau i suʻega i luga ole laiga ma Android. Ae paga lea, iOS o se tala e matua ese lava (faʻafetai Apple). Ou te fuafua e fa'aalia fofo ma faiga fa'atatau IOS i vaega o lo'o lumana'i.

Taua mo atina'e tau masini

Mai se vaaiga atina'e, o le ta'avale i le lotoifale e le maua ai se aoga. E na o le siakiina o suʻega o loʻo faʻatautaia i luga o le masini faʻapitonuʻu i suʻesuʻega faʻapitonuʻu ma simulators. Ae i soʻo se tulaga, o se amataga tatau lea.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa

  • so'o se gagana fa'apolokalame e te mana'o iai fa'atasi ma su'ega Seleni/Appium;
  • so'o se su'ega;
  • so'o se tagata tamo'e su'e.

2. Faiga fa'atonutonu faiga (Git)

Fa'amatalaga puupuu o tekinolosi

E le o se fa'aaliga tele i so'o se tasi pe a ou fai atu o le fa'atonutonuina o fa'aliliuga o se vaega taua tele o le atina'e, i totonu o se 'au ma ta'ito'atasi. Faʻavae i luga o punaoa eseese, e saogalemu le fai atu o Git o le sui sili ona lauiloa. O se fa'atonuga fa'atonuga e maua ai le tele o fa'amanuiaga, e pei o le fefa'asoaa'i o fa'ailoga, teuina o fa'aliliuga, toe fa'afo'isia i lala muamua, mata'itū tala'aga o galuega, ma fa'amaumauga. O le a matou le talanoaina auiliili vaega taʻitasi, aua ou te mautinoa o loʻo e masani i ai ma faʻaaogaina i au galuega i aso taitasi. Ae afai e leʻi faʻafuaseʻi, ona ou fautuaina lea e taofi le faitauina o lenei tusiga ma faʻatumu lenei avanoa i se taimi vave e mafai ai.

Taua mo atina'e tau masini

Ma o iinei e mafai ona e fesiligia ai se fesili talafeagai: "Aisea ua ia taʻu mai ai ia Git? E iloa e tagata uma lenei mea ma faʻaaogaina uma mo le atinaʻeina o tulafono ma mo le suʻega faʻataʻitaʻi. O le a matua sa'o lava oe, ae i totonu o lenei tusiga o loʻo tatou talanoa e uiga i atinaʻe ma o lenei vaega o loʻo galue o se faʻaaliga mo le vaega 7: "Infrastructure as Code (IaC)". Mo i matou, o lona uiga o atinaʻe uma, e aofia ai suʻega, o loʻo faʻamatalaina i le tulaga o le code, o lea e mafai ai foi ona matou faʻaogaina faiga faʻaliliu i ai ma maua ai faʻamanuiaga tutusa e pei o le atinaʻe ma le faʻaogaina o tulafono.

O le a matou vaʻavaʻai atili ia IaC i le Laasaga 7, ae e oʻo lava i le taimi nei e mafai ona e amata faʻaaoga Git i le lotoifale e ala i le fatuina o se fale teu oloa. O le ata tele o le a faʻalauteleina pe a matou faʻaopoopoina se fale teu mamao i le atinaʻe.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa

3. Containerization (Docker)

Fa'amatalaga puupuu o tekinolosi

Ina ia faʻaalia pe faʻafefea ona suia e le containerization tulafono o le taʻaloga, tatou toe foʻi i tua i le taimi i ni nai tausaga. I tua, na faʻatau e tagata ma faʻaogaina masini faʻapipiʻi e faʻatautaia ai talosaga. Ae i le tele o tulaga, e leʻi iloa muamua punaoa amata. O se taunuuga, na faʻaalu e kamupani tupe i le faʻatauina o sapalai taugata, mamana, ae o nisi o lenei gafatia e leʻi faʻaaogaina atoatoa.

O le isi laasaga o le evolusione o masini masini (VMs), lea na foia ai le faʻafitauli o le faʻaumatia tupe i luga o punaoa e le faʻaaogaina. O lenei tekinolosi ua mafai ai ona fa'agasolo talosaga tuto'atasi o le tasi i le isi i totonu o le 'au'aunaga lava e tasi, ma fa'asoa atoa ai le avanoa. Ae, o le mea e leaga ai, soʻo se tekinolosi e iai ona faʻafitauli. O le taʻavaleina o se VM e manaʻomia ai se faiga faʻaogaina atoatoa, lea e faʻaaogaina ai le PPU, RAM, teuina ma, faʻalagolago i le OS, e manaʻomia ona amanaia tau o laisene. O nei mea e a'afia ai le saosaoa o uta ma fa'afaigata ai le feavea'i.

Ma o lea ua tatou o mai i containerization. O le isi foi, o lenei tekinolosi e foia ai le faafitauli muamua, aua e le faʻaogaina e pusa se OS atoa, lea e faʻasaʻolotoina ai le tele o punaoa ma maua ai se fofo vave ma fetuutuunai mo le feaveaʻi.

O le mea moni, e le o se mea fou le tekonolosi faʻapipiʻi ma na faʻaalia muamua i le tuai o 70s. I na aso, e tele suʻesuʻega, atinaʻe, ma taumafaiga na faia. Ae o Docker na faʻafetaui lenei tekinolosi ma faʻafaigofie ona maua e le toʻatele. I aso nei, pe a tatou talanoa e uiga i pusa, i le tele o tulaga tatou te uiga Docker. A matou talanoa e uiga i pusa Docker, o lona uiga o pusa Linux. E mafai ona matou faʻaogaina Windows ma macOS system e faʻatautaia ai pusa, ae e taua le malamalama o le tulaga lea e aliali mai ai se isi faʻaopoopoga. Mo se faʻataʻitaʻiga, Docker i luga o Mac e taʻavale lemu pusa i totonu ole Linux VM mama. O le a tatou toe foʻi i lenei autu pe a tatou talanoaina le faʻaogaina o Android emulators i totonu o pusa, o lea o loʻo i ai se mea taua tele e manaʻomia ona talanoaina atili.

Taua mo atina'e tau masini

Na matou iloa o containerization ma Docker e manaia. Sei o tatou vaʻavaʻai i lenei mea i le tulaga o le masini, aua o meafaigaluega uma poʻo tekinolosi e manaʻomia e foia ai se faʻafitauli. Sei o tatou faʻavasegaina faʻafitauli manino o suʻega suʻega i le tulaga o suʻega UI:

  • se numera tele o faʻalagolago pe a faʻapipiʻi Seleni ma aemaise Appium;
  • faʻafitauli fesoʻotaʻiga i le va o suʻesuʻega, simulators ma avetaavale;
  • leai se avanoa tu'ufua mo su'esu'ega/simulators, lea e sili ona taua mo le ta'avale tutusa;
  • faigata ona pulea ma tausia pe afai e te manaʻomia le taʻavale 10, 50, 100 poʻo le 1000 tagata suʻesuʻe i le taimi e tasi.

Ae talu ai o Seleni o le mea sili ona lauiloa masini ma Docker o le mea sili ona lauiloa containerization, e le o se mea e ofo ai ua taumafai se tasi e tuʻufaʻatasia i latou e fatu ai se meafaigaluega malosi e foia ai faʻafitauli o loʻo taʻua i luga. Sei o tatou iloiloina ia fofo i nisi auiliiliga. 

Seleni grid i le docker

O lenei meafaigaluega e sili ona taʻutaʻua i le lalolagi Seleni mo le faʻatautaia o suʻesuʻega e tele i luga o masini e tele ma faʻatautaia mai se nofoaga tutotonu. Ina ia amata, e tatau ona e lesitala a itiiti ifo ma le 2 vaega: Hub ma Node(s). O le Hub ose nofoaga tutotonu e maua uma talosaga mai su'ega ma tufatufa atu i Nodes talafeagai. Mo Node taʻitasi e mafai ona matou faʻatulagaina se faʻatulagaga faʻapitoa, mo se faʻataʻitaʻiga, e ala i le faʻamaonia o le suʻesuʻega manaʻomia ma lona faʻamatalaga. Ae ui i lea, e manaʻomia pea ona tatou tausia lelei taʻavale suʻesuʻe ma faʻapipiʻi i luga o Nodes manaʻomia. Mo lenei mafuaʻaga, o le Seleni grid e le faʻaaogaina i lona mama mama, sei vagana ai pe a tatou manaʻomia le galulue faʻatasi ma tagata suʻesuʻe e le mafai ona faʻapipiʻiina i luga ole Linux OS. Mo isi mataupu uma, o se fofo sili ona fetuutuunai ma saʻo o le faʻaaogaina lea o ata Docker e faʻatautaia ai le Seleni grid Hub ma Nodes. O lenei faiga e matua faafaigofieina ai le puleaina o le node, talu ai e mafai ona tatou filifilia le ata tatou te manaʻomia ma faʻaoga tutusa o suʻesuʻega ma avetaavale ua uma ona faʻapipiʻiina.

E ui lava i iloiloga le lelei e uiga i le mautu, aemaise lava pe a faʻatautaia se numera tele o Nodes i le tutusa, Seleni grid o loʻo avea pea ma meafaigaluega sili ona lauiloa mo le faʻataʻitaʻiina o suʻega Seleni i le tutusa. E taua le maitauina o faʻaleleia ma suiga eseese o lenei meafaigaluega o loʻo faʻaalia i taimi uma i punaoa tatala, lea e faʻafefe ai bottlenecks eseese.

Selenoid mo Uepi

O lenei meafaigaluega o se faʻalavelave i le lalolagi o Seleni ona e galue saʻo mai le pusa ma faʻafaigofie ai le olaga o le tele o inisinia masini. Muamua lava, e le o se isi suiga o le Seleni grid. Nai lo lena, na faia e le au atinaʻe se faʻafouga fou o Selenium Hub i Golang, lea, faʻatasi ma ata mama Docker mo suʻesuʻega eseese, na faʻamalosia ai le atinaʻeina o masini suʻega. E le gata i lea, i le tulaga o Selenium Grid, e tatau ona tatou fuafuaina uma suʻesuʻega manaʻomia ma a latou faʻaliliuga i luma atu, e le o se faʻafitauli pe a galue i le tasi le browser. Ae a oʻo mai i le tele o suʻesuʻega lagolago, Selenoid o le numera tasi faʻafetai faʻafetai i lana 'browser on demand' feature. Pau lava le mea e manaʻomia mai ia i matou o le faʻapipiʻiina lea o ata talafeagai ma tagata suʻesuʻe i luma atu ma faʻafouina le faila faila lea e fegalegaleai ai Selenoid. A maeʻa ona maua e Selenoid se talosaga mai suʻega, o le a otometi lava ona faʻalauiloa le atigipusa manaʻomia ma le suʻesuʻega manaʻomia. A maeʻa le suʻega, Selenoid o le a litaea le pusa, ma faʻasaʻoloto ai punaoa mo talosaga i le lumanaʻi. O lenei faiga e fa'aumatia atoa ai le fa'afitauli ta'uta'ua o le 'fa'aleagaina o le node' lea e masani ona tatou feagai i le fa'asologa o le Seleni.

Ae, talofa, o Selenoid e le o se pulu siliva. Na matou maua le 'browser on demand' feature, ae o le 'sources on demand' e le'o maua lava. Mo le faʻaaogaina o Selenoid, e tatau ona tatou faʻaogaina i luga o masini faʻapitoa poʻo luga ole VM, o lona uiga e tatau ona tatou iloa muamua le tele o punaoa e manaʻomia ona faʻasoa. Ou te masalo e le o se faʻafitauli lea mo galuega laiti e faʻatautaia 10, 20 poʻo le 30 suʻesuʻega tutusa. Ae faapefea pe a tatou manaʻomia le 100, 500, 1000 pe sili atu? E leai se uiga le tausia ma le totogiina o le tele o punaoa i taimi uma. I vaega 5 ma le 6 o lenei tusiga, o le a matou talanoaina fofo e mafai ai ona e fuaina, ma faʻaitiitia ai le tau o kamupani.

Selenoid mo le Android

Ina ua maeʻa le manuia o Selenoid o se meafaigaluega masini komepiuta, na manaʻomia e tagata se mea faapena mo Android. Ma na tupu - Selenoid na faʻasaʻolotoina ma le lagolago a le Android. Mai se tulaga maualuga o le tagata faʻaoga, o le mataupu faavae o le faʻaogaina e tutusa ma le masini komepiuta. Pau lava le eseesega o le nai lo pusa suʻesuʻe, Selenoid e faʻatautaia pusa emulator Android. I loʻu manatu, o le taimi nei o le mea faigaluega sili ona malosi mo le faʻataʻitaʻiina o suʻega Android i le tutusa.

Ou te matua le fia talanoa e uiga i itu le lelei o lenei meafaigaluega, talu ai ou te matua fiafia lava i ai. Ae ui i lea, o loʻo i ai le faʻaletonu tutusa e faʻatatau i le masini komepiuta ma e fesoʻotaʻi ma le faʻaogaina. I le faaopoopo atu i lenei mea, e tatau ona tatou talanoa e uiga i se tasi tapulaa e ono oʻo mai o se mea e ofo ai pe a tatou faʻatulagaina le meafaigaluega mo le taimi muamua. Ina ia faʻataʻitaʻiina ata Android, matou te manaʻomia se masini faʻapitoa poʻo le VM faʻatasi ai ma le faʻaogaina o fesoʻotaʻiga. I le auala-e taʻitaʻia ai, ou te faʻaalia pe faʻapefea ona faʻatagaina lenei mea i luga ole Linux VM. Ae peitaʻi, afai o oe o se tagata faʻaoga macOS ma e manaʻo e faʻapipiʻi Selenoid i le lotoifale, ona le mafai lea ona faʻatautaia suʻega Android. Ae e mafai lava ona e faʻatautaia se Linux VM i le lotoifale ma le 'nested virtualization' faʻatulagaina ma faʻapipiʻi Selenoid i totonu.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

I le anotusi o lenei tusiga, o le a matou faʻaopoopoina meafaigaluega e 2 e faʻaalia ai le atinaʻe. O le Seleni grid mo suʻega i luga ole laiga ma Selenoid mo suʻega Android. I le GitHub aʻoaʻoga, o le a ou faʻaali atu foi ia te oe le faʻaogaina o Selenoid e faʻataʻitaʻi ai suʻega i luga ole laiga. 

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa

  • O loʻo i ai isi mea faigaluega faʻapipiʻi, ae o Docker e sili ona lauiloa. Afai e te manaʻo e faʻataʻitaʻi se isi mea, ia manatua o meafaigaluega na matou ufiufi mo le faʻataʻitaʻiina o suʻega Seleni i le tutusa o le a le aoga mai le pusa.  
  • E pei ona uma ona fai mai, e tele suiga ole Seleni grid, mo se faʻataʻitaʻiga, Saleni.

4.CI/CD

Fa'amatalaga puupuu o tekinolosi

Ole faiga ole fa'aauauina fa'atasi e fai si lauiloa ile atina'e ma o lo'o tutusa ma faiga fa'atonutonu fa'asologa. E ui i lea, ou te lagona o loo i ai le fenumiai i faaupuga. I lenei parakalafa ou te fia faʻamatalaina 3 suiga o lenei tekinolosi mai loʻu manatu. I luga o le initaneti e te maua ai le tele o tala e eseese faʻamatalaga, ma e matua masani lava pe a ese lou manatu. O le mea pito sili ona taua o oe o loʻo i luga o le itulau e tasi ma au paaga.

O lea la, e 3 faaupuga: CI - Fa'aauauina Fa'atasi, CD - Fa'aauau le Tu'uina atu ma toe CD - Fa'aauau Fa'asoa. (Lalo o le a ou faʻaogaina nei faaupuga ile Igilisi). O suiga ta'itasi e fa'aopoopoina nisi la'asaga fa'aopoopo i lau paipa atina'e. Ae o le upu faaauau pea (faaauau) o le mea e sili ona taua. I lenei tulaga, matou te uiga i se mea e tupu mai le amataga seia maeʻa, e aunoa ma le faʻalavelave poʻo le faʻaogaina o le lima. Se'i o tatou va'ai ile CI & CD ma le CD ile tulaga lea.

  • Tuufaatasiga faifaipea o le laasaga muamua lea o le evolusione. A maeʻa ona tuʻuina atu le code fou i le server, matou te faʻamoemoe e maua vave faʻamatalaga e lelei a matou suiga. E masani lava, o le CI e aofia ai le faʻaogaina o meafaigaluega faʻavasega numera ma suʻega API i totonu / totonu, e mafai ai ona matou maua faʻamatalaga e uiga i la matou code i totonu o ni nai sekone / minute.
  • Faʻaauau Faaooina ose la'asaga sili atu lea e fa'atautaia ai su'ega tu'ufa'atasi/UI. Ae ui i lea, i lenei laʻasaga matou te le maua vave faʻaiʻuga pei o le CI. Muamua, o nei ituaiga o suʻega e umi se taimi e faʻamaeʻa ai. Lona lua, aʻo leʻi faʻalauiloaina, e tatau ona faʻapipiʻi a tatou suiga i le suʻega / faʻataʻitaʻiga siosiomaga. E le gata i lea, afai o loʻo tatou talanoa e uiga i le atinaʻeina o telefoni feaveaʻi, ona foliga mai lea o se laasaga faaopoopo e fausia ai se fausiaina o la tatou talosaga.
  • Faʻaauauina faifai pea fa'apea e otometi lava ona fa'amatu'u atu a tatou suiga ile gaosiga pe a uma su'ega talia na pasia i la'asaga muamua. I le faʻaopoopoga i lenei mea, pe a maeʻa le faʻasalalauga, e mafai ona e faʻatulagaina laasaga eseese, e pei o le suʻeina o suʻega asu i luga o le gaosiga ma le aoina o fua faʻatatau o tului. Fa'aauau le Fa'atinoina e na'o le lelei o le fa'asoaina e ala ile su'ega fa'autometi. Afai e mana'omia ni fa'atonuga tusilima, e aofia ai ma su'ega, ona le toe faia lea Faʻaauau (fa'aauau). Ona mafai lea ona tatou fai atu o le matou paipa e naʻo le faʻataʻitaʻiga o le Faʻaauauina Faʻasalaga.

Taua mo atina'e tau masini

I lenei vaega, e tatau ona ou faamanino atu pe a tatou talanoa e uiga i suʻega UI pito i tua, o lona uiga e tatau ona tatou faʻaogaina a tatou suiga ma auaunaga faʻatasi e suʻe ai siosiomaga. Fa'aauauina Fa'atasi - o le fa'agasologa e le talafeagai mo lenei galuega ma e tatau ona tatou fa'atinoina le fa'atinoina o faiga Fa'aauau Fa'aauau. Fa'aauau le fa'aogaina e talafeagai foi i le tulaga o su'ega a le UI pe afai o le a tatou fa'atinoina i le gaosiga.

Ma ae tatou te leʻi vaʻai i le faʻataʻitaʻiga o le suiga o le fausaga, ou te fia fai atu ni nai upu e uiga i GitLab CI. E le pei o isi meafaigaluega CI / CD, GitLab e tuʻuina atu se faleoloa mamao ma le tele o isi mea faʻaopoopo. O le mea lea, GitLab e sili atu nai lo CI. E aofia ai le puleaina o faʻamatalaga punaʻoa, pulega Agile, CI / CD pipelines, meafaigaluega faʻapipiʻi ma metric aoina mai le pusa. O le fausaga o le GitLab e aofia ai Gitlab CI/CD ma GitLab Runner. O se faʻamatalaga puupuu lenei mai le upega tafaʻilagi aloaia:

Gitlab CI / CD o se 'upega tafaʻilagi faʻatasi ma se API e teu ai lona setete i totonu o faʻamaumauga, faʻatautaia galuega / fausia ma tuʻuina atu se faʻaoga faʻaoga. GitLab Runner o se talosaga lea e fausia ai faiga. E mafai ona tu'u ese'ese ma galulue fa'atasi ma GitLab CI/CD e ala ile API. Mo faʻataʻitaʻiga e te manaʻomia uma Gitlab faʻataʻitaʻiga ma Runner.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa

5. Tulaga ao

Fa'amatalaga puupuu o tekinolosi

I lenei vaega o le a tatou talanoa e uiga i se tulaga lauiloa e taʻua o 'ao lautele'. E ui lava i le tele o faʻamanuiaga o loʻo maua mai e le virtualization ma containerization tekinolosi o loʻo faʻamatalaina i luga, matou te manaʻomia pea punaoa tau komepiuta. Kamupani faʻatau faʻatauga taugata poʻo lisi nofoaga autu o faʻamaumauga, ae i lenei tulaga e tatau ona faia faʻatusatusaga (o nisi taimi e le talafeagai) pe fia ni punaoa tatou te manaʻomia, pe o le a tatou faʻaaogaina 24/7 ma mo a faʻamoemoega. Mo se faʻataʻitaʻiga, o le gaosiga e manaʻomia se 'auʻaunaga o loʻo faʻagaioia XNUMX/XNUMX, ae tatou te manaʻomia ni punaoa tutusa mo suʻega i fafo atu o itula faigaluega? E fa'alagolago fo'i ile ituaiga su'ega o lo'o faia. O se fa'ata'ita'iga o su'ega uta/fa'atiga lea matou te fuafua e fai i itula e le faigaluega ina ia maua ai fa'ai'uga i le aso e soso'o ai. Ae mautinoa e le manaʻomia le avanoa o le server XNUMX/XNUMX mo suʻega faʻataʻitaʻi pito i luga ma aemaise lava e le mo suʻega tusi lesona. Mo ia tulaga, e lelei le mauaina o le tele o punaoa pe a manaʻomia pe a manaʻomia, faʻaaoga, ma taofi le totogiina pe a le toe manaʻomia. E le gata i lea, o le a sili le mauaina vave e ala i le faia o ni nai kisi kisi poʻo le faʻaogaina o ni tusitusiga se lua. O le mea lea e fa'aoga ai ao lautele. Sei o tatou tilotilo i le faauigaga:

"O le ao lautele o loʻo faʻamatalaina o auaunaga tau komepiuta e ofoina atu e isi vaega e tuʻuina atu i luga ole Initaneti lautele, faʻaavanoaina mo soʻo se tasi e manaʻo e faʻaoga pe faʻatau. Atonu latou te saoloto pe faʻatau atu i luga ole manaʻoga, faʻatagaina tagata faʻatau e totogi naʻo le faʻaaogaina mo le CPU cycles, teuina, poʻo le bandwidth latou te faʻaaogaina."

E i ai le manatu e taugata le ao lautele. Ae o lo latou manatu autu o le faʻaitiitia o tau a le kamupani. E pei ona taʻua muamua, o ao lautele e faʻatagaina oe e maua punaoa i luga ole manaʻoga ma totogi naʻo le taimi e te faʻaaogaina ai. E le gata i lea, o nisi taimi tatou te galo ai o tagata faigaluega e maua totogi, ma o tagata tomai faapitoa o se punaoa taugata foi. E tatau ona amanaia o ao lautele e sili atu ona faigofie le lagolago o mea tetele, lea e mafai ai e inisinia ona taulaʻi atu i galuega sili atu ona taua. 

Taua mo atina'e tau masini

O a punaoa faʻapitoa tatou te manaʻomia mo suʻega UI pito i luga? O le mea moni o masini faʻapitoa poʻo fuifui (o le a tatou talanoa e uiga i Kubernetes i le isi vaega) mo suʻesuʻega ma emulators. O le tele o suʻesuʻega ma emulators tatou te mananaʻo e taʻavale i le taimi e tasi, o le tele o le PPU ma le manatua e manaʻomia ma le tele o tupe e tatau ona tatou totogi ai. O le mea lea, o ao lautele i le tulaga o le masini suʻega e mafai ai ona tatou faʻatautaia se numera tele (100, 200, 1000 ...) o tagata suʻesuʻe / emulators i luga o le manaʻoga, maua faʻaiʻuga suʻega i se taimi vave e mafai ai ma taofi le totogiina o sea punaoa faʻavalevalea. mana. 

O kamupani sili ona lauiloa o le ao o Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP). Ole ta'iala ile auala e maua ai fa'ata'ita'iga ile fa'aogaina ole GCP, ae ile lautele e le afaina po'o le a le mea e te fa'aogaina mo galuega fa'aautomatika. E tutusa uma galuega faatino. E masani lava, e filifili se tagata e tu'uina atu, e taula'i atu le pulega i le aofa'i o atina'e a le kamupani ma mana'oga pisinisi, lea e sili atu i le lautele o lenei tusiga. Mo inisinia masini, o le a sili atu ona manaia le faʻatusatusaina o le faʻaogaina o le ao tuʻuina atu ma le faʻaogaina o faʻasalalauga faʻapitoa mo faʻataʻitaʻiga, e pei o Sauce Labs, BrowserStack, BitBar, ma isi. Ia tatou faia foi! I loʻu manatu, Sauce Labs o le faʻatoʻaga suʻega ao sili ona lauiloa, o le mea lea na ou faʻaaogaina ai mo faʻatusatusaga. 

GCP vs Sauce Labs mo faamoemoega tau masini:

Se'i fa'apea e mana'omia ona tatou fa'atino su'ega e 8 i luga ole laiga ma su'ega Android e 8 ile taimi e tasi. Mo lenei mea o le a matou faʻaogaina le GCP ma faʻatautaia 2 masini masini ma Selenoid. I le muamua o le a matou siiina 8 pusa ma suʻesuʻega. I le lona lua o loʻo i ai 8 koneteina ma emulators. Sei o tatou tilotilo i tau:  

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga
Ina ia faʻatautaia se pusa e tasi ma Chrome, matou te manaʻomia n1-tulaga-1 taavale. I le tulaga o le Android o le a n1-tulaga-4 mo le emulator e tasi. O le mea moni, o se auala sili atu ona fetuutuunai ma taugofie o le setiina lea o tulaga faʻapitoa mo tagata faʻaoga mo PPU / Manatua, ae i le taimi nei e le taua lenei mea mo le faʻatusatusaina ma Sauce Labs.

Ma o tau nei mo le faʻaaogaina o Sauce Labs:

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga
Ou te talitonu ua uma ona e matauina le eseesega, ae o le a ou saunia pea se laulau ma faʻatusatusaga mo la matou galuega:

Punaoa mana'omia
masina
Taimi faigaluega(8 am - 8 pm)
Taimi faigaluega+ E mafai ona faia muamua

GCP mo Upega Tafa'ilagi
n1-tulaga-1 x 8 = n1-tulaga-8
$194.18
23 aso * 12h * 0.38 = $104.88 
23 aso * 12h * 0.08 = $22.08

Sauce Labs mo Upega Tafa'ilagi
Virtual Cloud8 su'ega tutusa
$1.559
-
-

GCP mo le Android
n1-tulaga-4 x 8: n1-tulaga-16
$776.72
23 aso * 12h * 1.52 = $419.52 
23 aso * 12h * 0.32 = $88.32

Sausi Labs mo le Android
Real Device Cloud 8 su'ega tutusa
$1.999
-
-

E pei ona mafai ona e vaʻai, o le eseesega i le tau e tele, aemaise lava pe afai e te faʻataʻitaʻiina suʻega i le taimi o le sefululua itula faigaluega. Ae e mafai ona e faʻaitiitia tau e sili atu pe a e faʻaogaina masini e mafai ona faʻaaogaina. O le a lena?

O se VM e mafai ona fa'aaogaina o se fa'ata'ita'iga e mafai ona e faia ma tamo'e i se tau e sili atu nai lo taimi masani. Ae ui i lea, e mafai ona fa'amutaina (fa'agasolo) nei mea pe a mana'omia le avanoa i na punaoa mo isi galuega. O fa'ata'ita'iga e mafai ona fa'aaoga e sili atu le malosi o le Compute Engine, o lea o lo'o maua e fesuisuia'i ma fa'aoga.

Afai o au polokalame e fa'apalepale mase ma e mafai ona fa'asagatau i fa'ata'ita'iga fa'ata'ita'iga, ona mafai lea e fa'ata'ita'iga fa'ata'ita'i ona fa'aitiitia tele tau o lau Compute Engine. Mo se fa'ata'ita'iga, e mafai ona fa'agasolo galuega fa'aputuga i luga o fa'ata'ita'iga fa'apitoa. Afai o nisi o na tulaga e muta i le taimi o le faagasologa, o le galuega e tuai ae e le uma. O fa'ata'ita'iga fa'apitoa e fa'amae'a ai au galuega fa'aputuga e aunoa ma le tu'uina atu o galuega fa'aopoopo i au fa'ata'ita'iga o lo'o iai ma e aunoa ma le mana'omia o oe e totogi le tau atoa mo fa'aopoopoga masani.

Ma e le'i uma lava! O le mea moni, ou te mautinoa e leai se tasi e faia suʻega mo le 12 itula e aunoa ma se malologa. Ma afai o lea, ona mafai lea ona e otometi ona amata ma taofi masini masini pe a le manaʻomia. Ole taimi ole fa'aoga e mafai ona fa'aitiitia ile 6 itula ile aso. Ona faʻaititia lea o le totogi i le tulaga o la matou galuega i le $ 11 i le masina mo suʻesuʻega 8. Pe le matagofie ea lenei mea? Ae fa'atasi ai ma masini e mafai ona fa'agasolo e tatau ona tatou fa'aeteete ma saunia mo fa'alavelave ma le le mautu, e ui lava o nei tulaga e mafai ona tu'uina atu ma fa'atautaia i totonu o polokalame. E aoga!

Ae e leai lava se mea ou te fai atu 'aua neʻi faʻaaogaina faʻatoʻaga suʻega ao'. E tele a latou mea lelei. Muamua lava, e le naʻo se masini komepiuta, ae o se faʻataʻitaʻiga faʻataʻitaʻiga faʻataʻitaʻiga faʻatasi ma se seti o galuega i fafo o le pusa: avanoa mamao, ogalaau, screenshots, puʻeina vitio, suʻesuʻega eseese ma masini feaveaʻi. I le tele o tulaga, e mafai ona avea lenei mea ma se mea e sili ona taua. O faʻataʻitaʻiga faʻataʻitaʻiga e sili ona aoga mo le masini IOS, pe a naʻo ao lautele e mafai ona ofoina atu Linux / Windows faiga. Ae o le a tatou talanoa e uiga i iOS i tala o loʻo mulimuli mai. Ou te fautuaina e vaʻavaʻai i taimi uma i le tulaga ma amata mai galuega: i nisi tulaga e sili atu le taugofie ma sili atu ona lelei le faʻaaogaina o ao lautele, ma i isi o faʻataʻitaʻiga faʻataʻitaʻiga e mautinoa lava le aoga o tupe faʻaalu.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa:

6. Tu'ufa'atasiga

Fa'amatalaga puupuu o tekinolosi

E i ai la'u tala fiafia - ua toeitiiti lava oo i le faaiuga o le tusiga! I le taimi nei, o matou atinaʻe faʻaautomatika e aofia ai suʻega i luga o le upega tafaʻilagi ma Android, lea matou te faʻatautaia i le GitLab CI i le tutusa, e faʻaaoga ai meafaigaluega e mafai ona faʻaogaina e Docker: Selenium grid ma Selenoid. E le gata i lea, matou te faʻaogaina masini faʻapitoa na faia e ala i le GCP e faʻafeiloaʻi ai pusa ma suʻesuʻega ma emulators. Ina ia faʻaititia le tau, matou te amataina nei masini masini pe a manaʻomia ma taofi pe a le faia suʻega. E i ai se isi mea e mafai ona faʻaleleia atili a tatou atinaʻe? O le tali o le ioe! Feiloai ia Kubernetes (K8s)!

Muamua, se'i o tatou va'ava'ai pe fa'afefea ona feso'ota'i upu tu'ufa'atasi, fuifui, ma Kubernetes i le tasi ma le isi. I se tulaga maualuga, o le tuʻufaʻatasiga o le faiga lea e faʻapipiʻiina ma faʻatautaia talosaga. Mo su'ega masini, o ia mea fa'apipi'i fa'apipi'i o le Seleni grid ma Selenoid. Docker ma K8 e faʻamalieina e le tasi le isi. O le muamua e faʻaaogaina mo le faʻapipiʻiina o talosaga, o le lona lua mo le faʻasologa. I le isi itu, K8s o se fuifui. O le galuega a le fuifui o le faʻaaogaina o VM e pei o Nodes, lea e mafai ai ona e faʻapipiʻi galuega eseese, polokalame ma auaunaga i totonu o le tasi server (cluster). Afai e le manuia se tasi o Nodes, o le a pikiina e isi Nodes, lea e mautinoa ai le le faʻalavelaveina o la matou talosaga. I le faaopoopo atu i lenei, K8s ei ai galuega taua e fesoʻotaʻi ma scaling, faʻafetai e otometi lava ona maua le aofaʻi sili ona lelei o punaoa faʻavae i luga o le uta ma seti tapulaʻa.

O le mea moni, o le faʻaaogaina ma le lima o Kubernetes mai le sasa e le o se galuega faatauvaa. O le a ou tuʻuina se fesoʻotaʻiga i le taʻutaʻua auala-e taʻitaʻia "Kubernetes The Hard Way" ma afai e te fiafia i ai, e mafai ona e faʻataʻitaʻi. Ae, o le mea e lelei ai, o loʻo i ai isi auala ma meafaigaluega. Ole auala pito sili ona faigofie ole fa'aogaina ole Google Kubernetes Engine (GKE) ile GCP, lea e mafai ai ona e maua se fuifui saunia i ni nai kiliki. Ou te fautuaina le faʻaaogaina o lenei auala e amata ai aʻoaʻoga, aua o le a mafai ai ona e taulai atu i le aʻoaʻoina o le faʻaogaina o le K8s mo au galuega nai lo le aʻoaʻoina pe faʻafefea ona tuʻufaʻatasia vaega i totonu o le tasi ma le isi. 

Taua mo atina'e tau masini

Seʻi o tatou vaʻavaʻai i nai vaega taua o loʻo tuʻuina mai e le K8s:

  • fa'apipi'iina o talosaga: fa'aaogaina se fuifui tele-nodes nai lo VM;
  • dynamic scaling: faʻaititia le tau o punaoa e faʻaaogaina naʻo le manaʻoga;
  • faʻamalologa a le tagata lava ia: toe faʻaleleia otometi o pods (o se taunuuga lea e toe faʻafoʻisia ai pusa);
  • faʻauluina o faʻafouga ma toe faʻafoʻi suiga e aunoa ma le taʻaloga: faʻafouina meafaigaluega, suʻesuʻega ma emulators e le faʻalavelaveina le galuega a tagata faʻaoga nei

Ae o le K8s e le o se pulu siliva. Ina ia malamalama i mea lelei uma ma tapulaʻa i le tulaga o meafaigaluega o loʻo matou mafaufau i ai (Selenium grid, Selenoid), o le a matou talanoaina puupuu le fausaga o K8s. E lua ituaiga o Nodes: Master Nodes ma Workers Nodes. Master Nodes e nafa ma pulega, faʻapipiʻiina ma faʻatulagaina filifiliga. O nodes a tagata faigaluega o lo'o fa'alauiloa ai talosaga. O nodes o lo'o iai fo'i se si'osi'omaga taimi ta'avale pusa. I la matou tulaga, o Docker lea, lea e nafa ma faʻagaioiga faʻapipiʻi. Ae o loʻo iai foʻi isi fofo, mo se faʻataʻitaʻiga pusaoloa. E taua le malamalama e le fa'aoga sa'o le fa'amama po'o le fa'amaloloina o le tagata lava ia i koneteina. E fa'atinoina lea e ala i le fa'aopoopo/fa'aitiitia o le aofa'i o pods, lea e iai fo'i koneteina (e masani lava e tasi le atigipusa i le pod, ae fa'atatau i le galuega atonu e tele atu). O le fa'atonuga maualuga e aofia ai nodes tagata faigaluega, i totonu o lo'o i ai pusa, i totonu o lo'o fa'atūina ai pusa.

Ole vaega ole fa'afuaina ole ki lea ma e mafai ona fa'aoga i pona uma e lua i totonu ole vaita'ele fuifui ma ponai totonu ole pona. E 2 ituaiga o fa'asili e fa'atatau i nodes ma pods. O le ituaiga muamua e fa'alava - fa'atupu fa'atupuina e ala i le fa'ateleina o le numera o nodes/pods. O lenei ituaiga e sili atu ona lelei. O le ituaiga lona lua, e tusa ai, tūsaʻo. E fa'atinoina le fa'afuainumera e ala i le fa'atele o nodes/pods, ae le o latou numera.

Se'i o tatou va'ava'ai la i a tatou mea faigaluega i le fa'asologa o tu'utu'uga o lo'o i luga.

Seleni laina

E pei ona taʻua muamua, Seleni grid o se meafaigaluega sili ona lauiloa, ma e le o se mea e ofo ai ua faʻapipiʻiina. O le mea lea, e le o se mea e ofo ai e mafai ona faʻapipiʻi le Seleni grid i K8s. O se faʻataʻitaʻiga o le auala e fai ai lenei mea e mafai ona maua i le K8s faʻamaumauga aloaia. E pei ona masani ai, ou te faʻapipiʻi soʻotaga i le pito o le vaega. E le gata i lea, o le auala-e taʻiala e faʻaalia ai le auala e fai ai lenei mea i Terraform. O lo'o iai fo'i fa'atonuga ile fuaina ole numera o pods o lo'o iai pusa su'esu'e. Ae o le faʻaogaina otometi galuega i totonu o le tulaga o K8s e le o se galuega manino atoatoa. Ina ua amata ona ou suʻesuʻe, ou te leʻi mauaina ni taʻiala aogā po o ni fautuaga. Ina ua maeʻa le tele o suʻesuʻega ma faʻataʻitaʻiga ma le lagolago a le DevOps team, na matou filifilia le auala e faʻapipiʻi ai atigipusa ma suʻesuʻega talafeagai i totonu o le tasi pod, lea o loʻo i totonu o le tasi tagata faigaluega. O lenei metotia e mafai ai ona matou faʻaogaina le taʻiala o le faʻasolosolo faʻasolosolo o nodes e ala i le faʻateleina o latou numera. Ou te faʻamoemoe o le a suia lenei mea i le lumanaʻi ma o le a tatou vaʻaia le tele ma le tele o faʻamatalaga o auala sili atu ma fofo ua saunia, aemaise lava pe a maeʻa le tuʻuina atu o le Seleni grid 4 ma se suiga i totonu o le fale.

Selenoid:

Selenoid deployment i K8s o le taimi nei o le le fiafia tele. E le fetaui. I le talitonuga, e mafai ona tatou siiina se atigipusa Selenoid i totonu o se pusa, ae a amata e Selenoid ona faʻalauiloa koneteina ma tagata suʻesuʻe, o le a iai pea i totonu o le pusa lava e tasi. O le mea lea e le mafai ai ona faʻaogaina ma, o se taunuuga, o le galuega a Selenoid i totonu o se fuifui o le a le ese mai galuega i totonu o se masini masini. Fa'ai'uga o le tala.

Moon:

O le iloaina o lenei fagu pe a galulue ma Selenoid, na tuʻuina atu e le au atinaʻe se meafaigaluega sili atu ona mamana e taʻua o Moon. O lenei meafaigaluega na muai fuafuaina e galulue ma Kubernetes ma, o se taunuuga, o le autoscaling vaega e mafai ma e tatau ona faʻaaogaina. E le gata i lea, ou te fai atu i le taimi nei tasi o se meafaigaluega i le lalolagi Seleni, lea o loʻo i ai le lagolago faʻapipiʻi K8s mai le pusa (ua le toe maua, va'ai le isi meafaigaluega ). O vaega taua o le Moon o loʻo tuʻuina atu lenei lagolago o: 

E matua leai lava se setete. Selenoid e teu i faʻamatalaga manatua e uiga i le taimi nei o loʻo faʻagasolo taimi suʻesuʻe. Afai e iai se mafua'aga e pa'u ai lona fa'agasologa - ona leiloa uma lea o sauniga ta'avale. O le Moon e leai se tulaga i totonu ma e mafai ona toe faia i luga o nofoaga autu o faʻamatalaga. O lo'o ola pea vaega ole su'esu'e tusa lava pe tasi pe sili atu fa'atusa e alu i lalo.

O lea la, o le Moon o se fofo sili, ae tasi le faafitauli: e le saʻoloto. O le tau e faʻatatau i le numera o sauniga. E na'o le 0-4 vasega e mafai ona e faia fua, e le'o aoga tele. Ae, amata mai le vasega lona lima, e tatau ona e totogiina le $5 mo le taʻitasi. Atonu e ese le tulaga mai lea kamupani i lea kamupani, ae i la matou tulaga, o le faʻaaogaina o Moon e leai se aoga. E pei ona ou faʻamatalaina i luga, e mafai ona matou faʻatautaia VMs ma Selenium Grid i luga ole manaʻoga pe faʻateleina le numera o Nodes i le fuifui. Mo le tusa ma le tasi paipa, matou te faʻalauiloaina 500 suʻesuʻega ma taofi uma punaoa pe a maeʻa suʻega. Afai matou te faʻaaogaina le Moon, matou te totogia le 500 x 5 = $2500 i le masina, tusa lava po o le a le tele o matou suʻega. E toe fai atu, ou te le o fai atu aua le faʻaaogaina le Moon. Mo au galuega, e mafai ona avea lenei mea ma se fofo taua, mo se faʻataʻitaʻiga, pe afai e tele au poloketi / 'au i lau faʻalapotopotoga ma e te manaʻomia se fuifui masani tele mo tagata uma. E pei lava o taimi uma, ou te tuʻuina se fesoʻotaʻiga i le faaiuga ma fautuaina le faia o faʻatusatusaga talafeagai uma i le tulaga o lau galuega.

Ole Alii: (Fa'alogo! E lē o iai i le uluaʻi tusitusiga ma e na o le faaliliuga faaRusia o loo iai)

E pei ona ou fai atu, Seleni o se meafaigaluega sili ona lauiloa, ma o le IT fanua o loʻo atinaʻe vave. A o ou galue i le faaliliuga, o se meafaigaluega folafola fou e igoa ia Callisto na aliali mai i luga o le upega tafailagi (hello Cypress ma isi Selenium killers). E galue faʻatasi ma K8s ma faʻatagaina oe e taʻavale Selenoid containers i pods, tufatufa atu i Nodes. E aoga mea uma mai le pusa, e aofia ai le autoscaling. Manaia, ae manaʻomia le suʻeina. Ua uma ona ou faʻaogaina lenei meafaigaluega ma faʻatautaia le tele o suʻega. Ae ua vave tele le faia o faaiuga, pe a uma ona maua taunuuga i se mamao mamao, masalo o le a ou faia se toe iloiloga i tala i le lumanaʻi. Mo le taimi nei o loʻo ou tuʻuina naʻo sootaga mo suʻesuʻega tutoʻatasi.  

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e

Meafaigaluega tutusa

7. Atina'e e pei ole Code (IaC)

Fa'amatalaga puupuu o tekinolosi

Ma o lea ua tatou oo mai i le vaega mulimuli. E masani lava, o lenei tekinolosi ma galuega fa'atatau e le o se matafaioi a inisinia masini. Ma e iai mafuaaga mo lenei mea. Muamua, i le tele o faʻalapotopotoga, o faʻafitauli faʻapitoa o loʻo i lalo o le pulega a le DevOps department ma e le popole tele le au atinaʻe pe o le a le mea e faʻaogaina ai le paipa ma pe faʻafefea ona lagolagoina mea uma e fesoʻotaʻi ma ia. Lona lua, ia tatou faʻamaoni, o le faʻatinoga o le Infrastructure as Code (IaC) e leʻo faʻaaogaina i le tele o kamupani. Ae ua mautinoa lava ua avea ma masani lauiloa ma e taua le taumafai e auai i faiga, auala ma meafaigaluega e fesootai ma ia. Po'o le mea sili ia tumau i le taimi nei.

Sei o tatou amata i le uunaiga mo le faaaogaina o lenei auala. Ua uma ona matou talanoaina e faʻataʻitaʻi suʻega i GitlabCI, matou te manaʻomia i lalo ifo o punaoa e faʻatautaia ai le Gitlab Runner. Ma ina ia ta'avale pusa ma su'esu'ega/emulators, e mana'omia ona fa'aagaga se VM po'o se fuifui. I le faʻaopoopoga i faʻataʻitaʻiga punaoa, matou te manaʻomia se aofaʻiga tele o le gafatia e lagolago ai le atinaʻe, faʻatulagaina, siosiomaga gaosiga, lea e aofia ai faʻamaumauga, faʻasologa otometi, fesoʻotaʻiga fesoʻotaʻiga, paleni uta, aia tatau a tagata, ma isi. O le mataupu autu o le taumafaiga e manaʻomia e lagolagoina uma. E tele auala e mafai ona tatou faia ai suiga ma fa'alauiloa fa'afouga. Mo se faʻataʻitaʻiga, i le tulaga o le GCP, e mafai ona tatou faʻaogaina le faʻamafanafanaga UI i le suʻega ma faʻatino uma gaioiga e ala i le kilikiina o ki. O le isi filifiliga o le faʻaogaina lea o API telefoni e fegalegaleai ai ma faʻalapotopotoga o ao, poʻo le faʻaogaina o le gcloud command line utility e faʻatino ai togafiti manaʻomia. Ae faʻatasi ai ma se numera tele o faʻalapotopotoga eseese ma elemene elemene, e faigata pe le mafai foi ona faʻatino uma gaioiga ma le lima. E le gata i lea, o nei gaioiga uma o le tusi lesona e le mafai ona taofiofia. E le mafai ona matou tuʻuina atu mo le toe iloiloga aʻo leʻi faʻataunuʻuina, faʻaaoga se faiga faʻatonutonu faʻasologa, ma vave toe faʻafoʻi suiga na mafua ai le faʻalavelave. Ina ia foia ia faafitauli, na faia e le au inisinia ma fatuina tusitusiga otometi bash / shell, e le sili atu le lelei nai lo metotia muamua, talu ai e le faigofie tele ona faitau vave, malamalama, tausia ma suia i se faiga faʻavae.

I lenei tusiga ma le auala-e taʻitaʻia ai, ou te faʻaogaina meafaigaluega 2 e fesoʻotaʻi ma le faʻataʻitaʻiga IaC. O Terraform ma Ansible ia. O nisi tagata e talitonu e leai se uiga e faʻaaogaina i le taimi e tasi, talu ai o latou gaioiga e tutusa ma e mafai ona fesuiaʻi. Ae o le mea moni o le taimi muamua e tuʻuina atu ia i latou galuega eseese. Ma o le mea moni o nei meafaigaluega e tatau ona faʻamalieina e le tasi le isi na faʻamaonia i se faʻasalalauga faʻatasi e le au atinaʻe e fai ma sui o HashiCorp ma RedHat. O le eseesega faʻavae o le Terraform o se meafaigaluega tuʻufaʻatasia mo le puleaina o latou lava auʻaunaga. E ui o le Ansible o se meafaigaluega e faʻatautaia ai le faʻatulagaina o lana galuega o le faʻapipiʻiina, faʻapipiʻi ma pulea le polokalama i luga o nei 'auʻaunaga.

O le isi mea taua e iloagofie ai nei meafaigaluega o le coding style. E le pei o le bash ma le Ansible, e faʻaaogaina e Terraform se faiga faʻaalia e faʻavae i luga o se faʻamatalaga o le tulaga manaʻomia e ausia ona o le faʻataunuʻuina. Mo se faʻataʻitaʻiga, afai o le a matou fatuina 10 VMs ma faʻaoga suiga e ala i Terraform, ona matou maua lea o 10 VMs. Afai tatou te toe faʻatautaia le tusitusiga, e leai se mea e tupu talu ai ua uma ona i ai le 10 VMs, ma e iloa e Terraform lenei mea aua o loʻo teuina le tulaga o loʻo iai nei i totonu o se faila a le setete. Ae faʻaaogaina e Ansible se faiga faʻavae ma, afai e te fai atu e fatu 10 VMs, ona i luga o le faʻalauiloaina muamua o le a matou maua 10 VMs, tutusa ma Terraform. Ae a uma ona toe amata o le a ua uma ona maua 20 VMs. O le eseesega taua lea. I le faiga faʻataʻitaʻiga, matou te le teuina le tulaga o loʻo i ai nei ma faʻamatalaina se faʻasologa o laasaga e tatau ona faia. O le mea moni, e mafai ona tatou taulimaina tulaga eseese, faʻaopoopo nisi siaki mo le i ai o punaoa ma le tulaga o loʻo i ai nei, ae leai se aoga o le faʻaumatia o tatou taimi ma tuʻuina atu taumafaiga i le puleaina o lenei manatu. E le gata i lea, o lenei mea e faʻateleina ai le lamatiaga o le faia o mea sese. 

I le aotelega o mea uma o loʻo i luga, e mafai ona tatou faʻamaonia o Terraform ma faʻamatalaga faʻamatalaga o se meafaigaluega sili atu ona talafeagai mo le tuʻuina atu o sapalai. Ae sili atu le tuʻuina atu o le galuega o le faʻatonuga o le pulega i le Ansible. Faatasi ai ma lena mea mai le auala, sei o tatou vaʻavaʻai i faʻaoga mataupu i le tulaga o le masini.

Taua mo atina'e tau masini

Pau lava le mea taua e malamalama ai iinei o le suʻega masini masini e tatau ona mafaufauina o se vaega o le kamupani atoa. O lona uiga o faiga uma a IaC e tatau ona faʻaoga i le lalolagi atoa i punaoa a le faʻalapotopotoga atoa. O ai e nafa ma lenei mea e faalagolago i au faʻagasologa. O le DevOps team e sili atu le poto masani i nei mataupu, latou te vaʻai i le ata atoa o le mea o loʻo tupu. Ae ui i lea, o inisinia QA e sili atu ona aʻafia i le faagasologa o le fausiaina o masini ma le fausaga o le paipa, lea e mafai ai ona latou vaʻaia lelei uma suiga manaʻomia ma avanoa mo le faʻaleleia. O le filifiliga sili o le galulue faʻatasi, fefaʻasoaaʻi malamalama ma manatu e ausia ai le taunuuga faamoemoeina. 

O nai faʻataʻitaʻiga nei o le faʻaaogaina o Terraform ma Ansible i le tulaga o suʻega masini ma meafaigaluega na matou talanoaina muamua:

1. Fa'amatala uiga mana'omia ma tapula'a o VM ma fuifui fa'aaoga Terraform.

2. Faʻaaogaina le Ansible, faʻapipiʻi meafaigaluega e manaʻomia mo suʻega: docker, Selenoid, Selenium Grid ma faʻapipiʻi lomiga manaʻomia o suʻesuʻega / emulators.

3. Faʻaaogaina Terraform, faʻamatala uiga o le VM lea o le a faʻalauiloa ai le GitLab Runner.

4. Faʻapipiʻi GitLab Runner ma mea faigaluega faʻatasi e manaʻomia e faʻaaoga ai le Ansible, seti faʻatulagaga ma faʻasalalauga.

Fa'ata'ita'iga o le tulaga o lo'o iai nei

DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

So'oga e su'esu'e:

Meafaigaluega tutusa

Sei o tatou aotelega!

laʻa
Tekonolosi
Meafaigaluega
Taua mo atina'e tau masini

1
Tamomoe i le lotoifale
Node.js, Seleni, Appium

  • O meafaigaluega sili ona lauiloa mo le upega tafaʻilagi ma telefoni feaveaʻi
  • Lagolago le tele o gagana ma tulaga (e aofia ai Node.js)

2
Faiga fa'atonutonu faiga 
Git

  • Faamanuiaga tutusa ma le code atinae

3
Containing
Docker, Seleni grid, Selenoid (Web, Android)

  • Fa'atino su'ega fa'atasi
  • Si'osi'omaga tu'ufua
  • Fa'alelei fa'alelei faigofie ma fetu'una'i
  • Taofi le fa'aaogaina o punaoa e le'i fa'aaogaina
  • Faigofie ona setiina

4
CI/CD
Gitlab CI

  • Su'e vaega ole paipa
  • Fa'amatalaga vave
  • Va'aia mo le kamupani atoa/au

5
Ao fa'avae
Google Cloud Platform

  • Punaoa pe a mana'omia (matou te totogi na'o pe a mana'omia)
  • Faigofie ona pulea ma faafou
  • Va'aia ma le pulea o punaoa uma

6
Orchestration
Kubernetes
I le tulaga o koneteina ma suʻesuʻega / emulators i totonu o pods:

  • Fa'afuaina/fa'atauta'i fua
  • Fa'amalologa o le tagata lava ia
  • Fa'afouga ma toe fa'afo'i e aunoa ma le fa'alavelave

7
Atina'e e pei o se tulafono (IaC)
Terraform, Ansible

  • Fa'apena fa'amanuiaga ma atina'e tetele
  • Fa'amanuiaga uma ole fa'aliliuga fa'ailoga
  • Faigofie ona fai suiga ma tausia
  • Otometi atoatoa

Ata fa'afanua o le mafaufau: fa'aleleia o atina'e

Laasaga1: Fa'alotoifale
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

laasaga2: VCS
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

Laasaga 3: Fa'aputu 
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

Laasaga4: CI/CD 
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

laʻasaga 5: Faʻatonuga o Ao
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

Laasaga 6: Fa'asologa
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

Laasaga 7: IaC
DevOps meafaigaluega e le naʻo DevOps. O le fa'agasologa o le fausiaina o se fa'ata'ita'iga otometi fa'ata'ita'i mai le amataga

o sosoo ai le a?

O lea la, o le faaiuga lea o le tusiga. Ae i le faaiuga, ou te fia faia ni maliega ma oe.

Mai lou itu
E pei ona taʻua i le amataga, ou te manaʻo i le tusiga e faʻaaoga lelei ma fesoasoani ia te oe e faʻaaoga le malamalama na maua i galuega moni. Ou te toe faaopoopo atu so'otaga i ta'iala fa'atino.

Ae e tusa lava pe a maeʻa, aua le taofi, faʻataʻitaʻi, suʻesuʻe fesoʻotaʻiga talafeagai ma tusi, saili pe faʻapefea ona galue i lau kamupani, saili nofoaga e mafai ona faʻaleleia ma auai i ai. Manuia lava!

Mai lo'u itu

Mai le ulutala e mafai ona e iloa o le vaega muamua lea. E ui lava i le mea moni na foliga mai e fai si tele, o mataupu taua e le o aofia ai iinei. I le vaega lona lua, ou te fuafua e vaʻavaʻai i atinaʻe otometi i le tulaga o le IOS. Ona o tapula'a a Apple i le fa'agaioia o iOS simulators na'o faiga macOS, ua fa'aiti'itia a matou fofo. Mo se faʻataʻitaʻiga, e le mafai ona matou faʻaogaina Docker e faʻatautaia ai le simulator poʻo ao lautele e faʻatautaia ai masini masini. Ae e le faapea ai e leai se isi auala. O le a ou taumafai e faʻasalalau oe i fofo faʻaonaponei ma meafaigaluega faʻaonapo nei!

E le gata i lea, ou te leʻi taʻua ni autu tetele e fesoʻotaʻi ma le mataʻituina. I le Vaega 3, o le a ou vaʻavaʻai i meafaigaluega mataʻituina atinaʻe sili ona lauiloa ma pe o a faʻamaumauga ma fua e tatau ona mafaufau i ai.

Ma mulimuli ane. I le lumanaʻi, ou te fuafua e faʻasalalau se ata vitio i luga o le fausiaina o faʻataʻitaʻiga faʻataʻitaʻiga ma meafaigaluega lauiloa. I le taimi nei, e tele naua vasega ma tautalaga i DevOps i luga ole Initaneti, ae o mea uma o loʻo tuʻuina atu i le tulaga o le atinaʻe, ae le o le suʻega masini. I luga o lenei mataupu, ou te matua manaʻomia ni faʻamatalaga pe o le a manaia ma taua seaʻoaʻoga mo le faʻalapotopotoga o suʻega ma inisinia masini. Faafetai muamua!

puna: www.habr.com

Faaopoopo i ai se faamatalaga