Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Karolo ea 1: Web/Android

mantsoe: sehlooho sena ke phetolelo ea Serussia ea sehlooho sa pele "Lisebelisoa tsa DevOps ha se tsa DevOps feela. "Ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong." Leha ho le joalo, lipapiso tsohle, lihokela, mantsoe a qotsitsoeng le mantsoe li bolokiloe ka puo ea pele ho qoba ho sotha moelelo ha li fetoleloa ho Serussia. Ke u lakaletsa thabo ea ho ithuta!

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Hajoale, tse khethehileng tsa DevOps ke e 'ngoe ea tse batloang haholo indastering ea IT. Haeba u bula libaka tse tsebahalang tsa ho batla mesebetsi le ho sefa ka moputso, u tla bona hore mesebetsi e amanang le DevOps e kaholimo ho lenane. Leha ho le joalo, ho bohlokoa ho utloisisa hore sena se bua haholo ka boemo ba 'Moholo', e leng se bolelang hore mokhethoa o na le tsebo e phahameng ea tsebo ea theknoloji le lisebelisoa. Sena se boetse se tla le boemo bo phahameng ba boikarabello bo amanang le ts'ebetso e sa sitisoeng ea tlhahiso. Leha ho le joalo, re ile ra qala ho lebala hore na DevOps ke eng. Qalong, e ne e se motho kapa lefapha le itseng. Haeba re batla litlhaloso tsa lentsoe lena, re tla fumana mabitso a mangata a matle le a nepahetseng, joalo ka mokhoa, litloaelo, filosofi ea setso, sehlopha sa likhopolo, joalo-joalo.

Tsebo ea ka ke moenjiniere oa boiketsetso ba liteko (QA automation engineer), empa ke lumela hore ha ea lokela ho amahanngoa feela le ho ngola liteko tsa boiketsetso kapa ho theha moralo oa moralo oa liteko. Ka 2020, tsebo ea meaho ea boiketsetso le eona e bohlokoa. Sena se o lumella ho hlophisa ts'ebetso ea othomathike ka bouena, ho tloha ho etsa liteko ho isa ho fana ka liphetho ho bohle ba amehang ho latela lipheo tsa hau. Ka lebaka leo, litsebo tsa DevOps lia hlokahala hore mosebetsi o phethoe. 'Me sena sohle se molemo, empa, ka bomalimabe, ho na le bothata (spoiler: sengoloa sena se leka ho nolofatsa bothata bona). Taba ke hore DevOps e thata. 'Me sena se totobetse, hobane lik'hamphani li ke ke tsa lefa haholo bakeng sa ntho e bonolo ho e etsa ... Lefats'eng la DevOps, ho na le lisebelisoa tse ngata, mantsoe le mekhoa e lokelang ho ba hantle. Sena se thata haholo qalong ea mosebetsi mme se ipapisitse le boiphihlelo bo bokelletsoeng ba tekheniki.

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong
Source: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

Mona mohlomong re tla qetella ka karolo ea selelekela ebe re tsepamisa maikutlo morerong oa sengoloa sena. 

Sengoliloeng see se bua ka eng?

Sengoliloeng sena, ke tlo arolelana boiphihlelo ba ka ba ho aha lisebelisoa tsa boiketsetso tsa liteko. Ho na le mehloli e mengata ea tlhahisoleseling Marang-rang mabapi le lisebelisoa tse fapaneng le mokhoa oa ho li sebelisa, empa ke rata ho li sheba feela maemong a boiketsetso. Ke lumela hore baenjiniere ba bangata ba li-automation ba tloaelane le boemo ha ho se motho ntle le uena ea tsamaisang liteko tse ntlafalitsoeng kapa ea tsotellang ho li boloka. Ka lebaka leo, liteko li felloa ke nako 'me u tlameha ho qeta nako u li nchafatsa. Hape, qalong ea mosebetsi ona e ka ba mosebetsi o boima haholo: ka bohlale ho etsa qeto ea hore na ke lisebelisoa life tse lokelang ho thusa ho felisa bothata bo fanoeng, mokhoa oa ho khetha, ho li hlophisa le ho li boloka. Bahlahlobi ba bang ba retelehela ho DevOps (batho) bakeng sa thuso, 'me, ha re bue 'nete, mokhoa ona oa sebetsa. Maemong a mangata sena e ka 'na ea e-ba eona feela khetho kaha ha re na ponahalo linthong tsohle tse itšetlehileng ka tsona. Empa joalo ka ha re tseba, li-DevOps ke bashanyana ba phathahaneng haholo, hobane ba tlameha ho nahana ka meaho eohle ea k'hamphani, ho tsamaisoa, ho beha leihlo, li-microservices le mesebetsi e meng e ts'oanang ho latela mokhatlo / sehlopha. Joalo ka ha ho le joalo, automation ha se ntho e tlang pele. Boemong bo joalo, re lokela ho leka ho etsa sohle seo re ka se khonang ho tloha qalong ho isa qetellong. Sena se tla fokotsa ho itšetleha, ho potlakisa mosebetsi, ho ntlafatsa tsebo ea rona le ho re lumella ho bona setšoantšo se seholo sa se etsahalang.

Sengoloa se hlahisa lisebelisoa tse tsebahalang haholo le tse tsebahalang mme se bonts'a mokhoa oa ho li sebelisa ho aha meaho ea boiketsetso mohato ka mohato. Sehlopha se seng le se seng se emeloa ke lisebelisoa tse lekiloeng ka phihlelo ea botho. Empa seo ha se bolele hore u tlameha ho sebelisa ntho e tšoanang. Lisebelisoa ka botsona ha li bohlokoa, li hlaha ebile li felloa ke nako. Mosebetsi oa rona oa boenjiniere ke ho utloisisa melao-motheo ea motheo: ke hobane'ng ha re hloka sehlopha sena sa lisebelisoa le hore na ke mathata afe a mosebetsi ao re ka a rarollang ka thuso ea bona. Ke kahoo qetellong ea karolo ka 'ngoe ke tlohelang likhokahano tsa lisebelisoa tse tšoanang tse ka sebelisoang mokhatlong oa hau.

Se seng sehloohong sena

Ke pheta hape hore sehlooho ha se mabapi le lisebelisoa tse khethehileng, kahoo ho ke ke ha e-ba le ho kenya khoutu ho tsoa litokomaneng le litlhaloso tsa litaelo tse khethehileng. Empa qetellong ea karolo ka 'ngoe ke siea lihokelo bakeng sa boithuto bo qaqileng.

Sena se etsoa hobane: 

  • boitsebiso bona bo bonolo haholo ho fumana mehloling e fapaneng (litokomane, libuka, lithuto tsa video);
  • haeba re qala ho teba, re tla tlameha ho ngola likarolo tse 10, 20, 30 tsa sehlooho sena (ha merero e le 2-3);
  • Ha ke batle ho senya nako ea hau kaha u kanna ua batla ho sebelisa lisebelisoa tse ling ho fihlela sepheo se tšoanang.

Itloaetse

Nka rata hore boitsebiso bona bo be molemo ho 'mali e mong le e mong, eseng feela ho bala le ho lebala. Thutong efe kapa efe, boikoetliso ke karolo ea bohlokoa haholo. Bakeng sa sena ke se lokiselitseng GitHub e nang le litaelo tsa mohato ka mohato tsa ho etsa ntho e 'ngoe le e' ngoe ho tloha qalong. Hape ho na le mosebetsi oa sekolo o u emetseng ho etsa bonnete ba hore ha u kopitse mela ea litaelo tseo u li phethang ntle le kelello.

Etsa moralo

Bohato ba
Technology
Tools

1
Ho sebetsa sebakeng sa heno (lokisetsa liteko tsa demo tsa webo / android 'me u li tsamaise sebakeng sa heno) 
Node.js, Selenium, Appium

2
Mekhoa ea taolo ea mofuta 
Git

3
Containerization
Docker, grid ea Selenium, Selenoid (Web, Android)

4
CI/CD
Gitlab CI

5
Lipolanete tsa leru
Sebaka sa Cloud Cloud

6
Orchestration
Kubernetes

7
Meralo ea motheo e le khoutu (IaC)
Terraform, E utloahalang

Sebopeho sa karolo ka 'ngoe

Ho boloka tlaleho e hlakile, karolo ka 'ngoe e hlalosoa ho latela kemiso e latelang:

  • tlhaloso e khutšoanyane ea theknoloji,
  • boleng ba meaho ea boiketsetso,
  • papiso ea boemo ba hajoale ba meralo ea motheo,
  • lihokelo tsa ho ithuta,
  • lisebelisoa tse tšoanang.

1. Etsa liteko sebakeng sa heno

Tlhaloso e khutšoanyane ea theknoloji

Ona ke mohato oa boitokisetso oa ho etsa liteko tsa demo sebakeng sa heno le ho netefatsa hore lia feta. Karolong e sebetsang, Node.js e sebelisoa, empa puo ea lenaneo le sethala le tsona ha li bohlokoa 'me u ka sebelisa tse sebelisoang k'hamphaning ea hau. 

Leha ho le joalo, joalo ka lisebelisoa tsa boiketsetso, ke khothaletsa ho sebelisa Selenium WebDriver bakeng sa sethala sa marang-rang le Appium bakeng sa sethala sa Android, ka ho latellana, kaha mehatong e latelang re tla sebelisa litšoantšo tsa Docker tse etselitsoeng ho sebetsa ka ho khetheha ka lisebelisoa tsena. Ho feta moo, ha ho buuoa ka litlhoko tsa mosebetsi, lisebelisoa tsena ke tsona tse batloang haholo 'marakeng.

Joalo ka ha u se u hlokometse, re nahana ka liteko tsa marang-rang le tsa Android feela. Ka bomalimabe, iOS ke pale e fapaneng ka ho felletseng (kea leboha Apple). Ke rerile ho bonts'a tharollo le mekhoa e amanang le IOS likarolong tse tlang.

Boleng ba lisebelisoa tsa boiketsetso

Ho latela pono ea litšebeletso tsa motheo, ho sebetsa sebakeng sa heno ha ho fane ka boleng ba letho. U sheba feela hore liteko li sebetsa mochining oa lehae ho libatli le li-simulator tsa lehae. Empa maemong afe kapa afe, ena ke ntlha e hlokahalang ea ho qala.

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang

  • puo efe kapa efe ea lenaneo eo u e ratang hammoho le liteko tsa Selenium / Appium;
  • liteko life kapa life;
  • semathi sefe kapa sefe sa teko.

2. Sistimi ea taolo ea mofuta (Git)

Tlhaloso e khutšoanyane ea theknoloji

E ke ke ea e-ba tšenolo e kholo ho mang kapa mang haeba ke re taolo ea phetolelo ke karolo ea bohlokoa haholo ea nts'etsopele, ka sehlopha le ka bomong. Ho latela mehloli e fapaneng, ho bolokehile ho bolela hore Git ke moemeli ea tsebahalang haholo. Sistimi ea taolo ea mofuta e fana ka melemo e mengata, joalo ka ho arolelana khoutu, ho boloka liphetolelo, ho khutlisetsa makala a fetileng, ho beha nalane ea projeke leihlo, le li-backups. Re ke ke ra buisana ka ntlha e 'ngoe le e' ngoe ka botlalo, kaha ke kholisehile hore u e tseba haholo 'me u e sebelisa mosebetsing oa hau oa letsatsi le letsatsi. Empa haeba ka tšohanyetso ho se joalo, joale ke khothaletsa ho emisa ho bala sehlooho sena le ho tlatsa lekhalo lena kapele kamoo ho ka khonehang.

Boleng ba lisebelisoa tsa boiketsetso

Mme mona o ka botsa potso e utlwahalang: "Hobaneng a re bolella ka Git? Motho e mong le e mong o tseba sena mme o se sebelisa bakeng sa khoutu ea nts'etsopele le bakeng sa khoutu ea tlhahlobo ea boits'oaro. ” U tla be u nepile ka ho feletseng, empa sehloohong sena re bua ka lisebelisoa tsa motheo 'me karolo ena e sebetsa e le ponelo-pele ea karolo ea 7: "Infrastructure as Code (IaC)". Ho rona, sena se bolela hore lisebelisoa tsohle tsa motheo, ho kenyelletsa le tlhahlobo, li hlalosoa ka mokhoa oa khoutu, kahoo re ka boela ra sebelisa mekhoa ea phetolelo ho eona 'me ra fumana melemo e tšoanang le ea nts'etsopele le khoutu ea boiketsetso.

Re tla sheba IaC ka botlalo ho Mohato oa 7, empa le hona joale o ka qala ho sebelisa Git sebakeng sa heno ka ho theha polokelo ea lehae. Setšoantšo se seholo se tla atolosoa ha re eketsa polokelo e hole ho meaho.

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang

3. Containerization (Docker)

Tlhaloso e khutšoanyane ea theknoloji

Ho bonts'a hore na kontena e fetotse melao ea papali joang, ha re khutleleng morao lilemong tse mashome a seng makae. Mehleng eo, batho ba ne ba reka le ho sebelisa mechini ea li-server ho tsamaisa lits'ebetso. Empa maemong a mangata, lisebelisoa tse hlokahalang tsa ho qala li ne li sa tsejoe esale pele. Ka lebaka leo, lik'hamphani li sebelisitse chelete ho reka li-server tse theko e boima, tse matla, empa tse ling tsa matla ana ha lia ka tsa sebelisoa ka ho feletseng.

Mohato o latelang oa ho iphetola ha lintho e ne e le mechine ea sebele (VMs), e ileng ea rarolla bothata ba ho senya chelete ka mehloli e sa sebelisoang. Theknoloji ena e entse hore ho khonehe ho tsamaisa lits'ebetso tse ikemetseng ka har'a seva e le 'ngoe, ho fana ka sebaka se arohaneng ka ho feletseng. Empa, ka bomalimabe, theknoloji leha e le efe e na le mefokolo ea eona. Ho tsamaisa VM ho hloka tsamaiso e feletseng ea ts'ebetso, e jang CPU, RAM, polokelo 'me, ho itšetlehile ka OS, litšenyehelo tsa laesense li lokela ho nkoa. Lintlha tsena li ama lebelo la ho belesa le ho etsa hore ho be thata ho nkeha habonolo.

'Me joale re tla ho containerization. Hape, theknoloji ena e rarolla bothata bo fetileng, kaha lijana ha li sebelise OS e feletseng, e lokollang lisebelisoa tse ngata 'me e fana ka tharollo e potlakileng le e bonolo bakeng sa ho khoneha.

Ehlile, thekenoloji ea lisebelisoa ha se ntho e ncha mme e ile ea qala ho hlahisoa ho elella bofelong ba lilemo tsa bo-70. Mehleng eo, liphuputso tse ngata, lintlafatso le liteko li ne li etsoa. Empa e ne e le Docker e ileng ea fetola theknoloji ena mme ea etsa hore batho ba bangata ba fumanehe habonolo. Matsatsing ana, ha re bua ka lijana, hangata re bolela Docker. Ha re bua ka lijana tsa Docker, re bolela lijana tsa Linux. Re ka sebelisa lits'ebetso tsa Windows le macOS ho tsamaisa lijana, empa ho bohlokoa ho utloisisa hore ntlheng ena ho hlaha lera le eketsehileng. Mohlala, Docker ho Mac e tsamaisa lijana ka khutso ka har'a Linux VM e bobebe. Re tla khutlela sehloohong sena ha re buisana ka ho tsamaisa li-emulators tsa Android ka har'a lijana, kahoo mona ho na le nuance ea bohlokoa haholo e lokelang ho tšohloa ka ho qaqileng haholoanyane.

Boleng ba lisebelisoa tsa boiketsetso

Re fumane hore lisebelisoa le Docker li ntle. Ha re shebeng sena molemong oa ho iketsetsa, hobane sesebelisoa kapa theknoloji e 'ngoe le e' ngoe e hloka ho rarolla bothata. Ha re hlaloseng mathata a hlakileng a boiketsetso ba liteko maemong a liteko tsa UI:

  • palo e kholo ea batho ba itšetlehileng ka eona ha u kenya Selenium, haholo-holo Appium;
  • mathata a ho lumellana pakeng tsa mefuta ea li-browser, simulators le bakhanni;
  • ho hloka sebaka se ka thoko bakeng sa libatli / li-simulator, tse bohlokoa haholo bakeng sa ts'ebetso e ts'oanang;
  • ho thata ho laola le ho hlokomela haeba o hloka ho tsamaisa libatli tse 10, 50, 100 kapa esita le tse 1000 ka nako e le 'ngoe.

Empa kaha Selenium ke sesebelisoa se tummeng ka ho fetisisa sa li-automation 'me Docker ke sesebelisoa se tummeng ka ho fetisisa sa ho kenya lijana, ha hoa lokela ho makatsa hore ebe motho e mong o lekile ho li kopanya ho etsa sesebelisoa se matla sa ho rarolla mathata a boletsoeng ka holimo. A re hlahlobeng litharollo tse joalo ka botlalo. 

Sekhahla sa selenium se ka har'a docker

Sesebelisoa sena ke se tsebahalang haholo lefatšeng la Selenium bakeng sa ho tsamaisa libatli tse ngata mecheng e mengata le ho li laola ho tsoa setsing se bohareng. Ho qala, o hloka ho ingolisa bonyane likarolo tse 2: Hub le Node(s). Hub ke node e bohareng e amohelang likopo tsohle ho tsoa litekong ebe e li abela ho Node tse loketseng. Bakeng sa Node e 'ngoe le e' ngoe re ka hlophisa tlhophiso e itseng, mohlala, ka ho hlakisa sebatli se lakatsehang le mofuta oa sona. Leha ho le joalo, re ntse re hloka ho hlokomela bakhanni ba li-browser tse tsamaellanang le rona le ho li kenya ho li-Node tse lakatsehang. Ka lebaka lena, grid ea Selenium ha e sebelisoe ka mokhoa o hloekileng, ntle le ha re hloka ho sebetsa le li-browser tse ke keng tsa kenngoa Linux OS. Bakeng sa linyeoe tse ling kaofela, tharollo e bonolo le e nepahetseng e ka ba ho sebelisa litšoantšo tsa Docker ho tsamaisa Selenium grid Hub le Node. Mokhoa ona o nolofatsa taolo ea li-node haholo, kaha re ka khetha setšoantšo seo re se hlokang ka mefuta e lumellanang ea li-browser le li-driver tse seng li kentsoe.

Ho sa tsotellehe maikutlo a fosahetseng mabapi le botsitso, haholo-holo ha ho tsamaisoa palo e kholo ea Node ka ho lekana, grid ea Selenium e ntse e le sesebelisoa se tummeng ka ho fetisisa sa ho etsa liteko tsa Selenium ka ho tšoana. Ke habohlokoa ho hlokomela hore lintlafatso le liphetoho tse fapa-fapaneng tsa sesebelisoa sena li lula li hlaha mohloling o bulehileng, o loantšang litšitiso tse sa tšoaneng.

Selenoid bakeng sa Web

Sesebelisoa sena ke katleho lefats'eng la Selenium ha e ntse e sebetsa hantle ka ntle ho lebokose 'me e entse hore bophelo ba baenjiniere ba bangata ba boiketsetso bo be bonolo haholoanyane. Pele ho tsohle, sena ha se phetoho e 'ngoe ea grid ea Selenium. Sebakeng seo, bahlahisi ba thehile mofuta o mocha ka ho fetesisa oa Selenium Hub ho Golang, e kopantsoeng le litšoantšo tse bobebe tsa Docker bakeng sa libatli tse fapaneng, e fane ka ts'usumetso ho nts'etsopele ea boiketsetso ba liteko. Ho feta moo, tabeng ea Selenium Grid, re tlameha ho tseba libatli tsohle tse hlokahalang le liphetolelo tsa tsona esale pele, e seng bothata ha u sebetsa le sebapali se le seng feela. Empa ha ho tluoa ho li-browser tse ngata tse tšehetsoeng, Selenoid ke tharollo ea pele ka lebaka la sebopeho sa eona sa 'sebatli se batloang'. Sohle se hlokoang ho rona ke ho khoasolla litšoantšo tse hlokahalang ka libatli esale pele le ho nchafatsa faele ea tlhophiso eo Selenoid e sebelisanang le eona. Kamora hore Selenoid e fumane kopo ho tsoa litekong, e tla qala setshelo se lakatsehang ka sebatli se lakatsehang. Ha tlhahlobo e phethela, Selenoid e tla tlohela setshelo, ka hona e lokolle lisebelisoa bakeng sa likopo tsa nako e tlang. Mokhoa ona o felisa ka ho feletseng bothata bo tsebahalang ba "node degradation" eo re atisang ho kopana le eona ho grid ea Selenium.

Empa, oho, Selenoid e ntse e se bullet ea silevera. Re na le karolo ea 'browser on demand', empa karolo ea 'lisebelisoa tse batloang' ha e so fumanehe. Ho sebelisa Selenoid, re tlameha ho e sebelisa ho hardware ea 'mele kapa ho VM, e bolelang hore re tlameha ho tseba esale pele hore na ke lisebelisoa tse kae tse lokelang ho abeloa. Ke nahana hore sena ha se bothata bakeng sa merero e menyenyane e tsamaisang libatli tse 10, 20 kapa esita le tse 30 ka ho tšoana. Empa ho thoe'ng haeba re hloka 100, 500, 1000 kapa ho feta? Ha ho utloahale ho boloka le ho lefella lisebelisoa tse ngata ka linako tsohle. Karolong ea 5 le ea 6 ea sengoloa sena, re tla tšohla litharollo tse u lumellang hore u ntlafatse, ka hona, ho fokotsa litšenyehelo tsa k'hamphani haholo.

Selenoid bakeng sa Android

Kamora katleho ea Selenoid joalo ka sesebelisoa sa othomathike sa webo, batho ba ne ba batla ntho e tšoanang bakeng sa Android. Mme ho ile ha etsahala - Selenoid e lokollotsoe ka tšehetso ea Android. Ho latela pono ea basebelisi ba boemo bo phahameng, molao-motheo oa ts'ebetso o tšoana le othomathike ea webo. Phapang feela ke hore sebakeng sa lijana tsa sebatli, Selenoid e tsamaisa lijana tsa emulator ea Android. Ka maikutlo a ka, hona joale ke sesebelisoa se matla ka ho fetisisa sa mahala sa ho etsa liteko tsa Android ka ho tšoana.

Ke hlile nke ke ka rata ho bua ka likarolo tse mpe tsa sesebelisoa sena, kaha ke hlile ke se rata. Empa leha ho le joalo, ho na le mefokolo e ts'oanang e sebetsang ho automation ea webo mme e amahanngoa le ho lekanya. Ho phaella ho sena, re hloka ho bua ka moeli o mong hape o ka 'nang oa makatsa haeba re theha sesebelisoa ka lekhetlo la pele. Ho tsamaisa litšoantšo tsa Android, re hloka mochini oa 'mele kapa VM e nang le tšehetso ea virtualization e fumanehang. Tataisong ea ho tataisa, ke bonts'a mokhoa oa ho etsa sena ho Linux VM. Leha ho le joalo, haeba u mosebeletsi oa macOS 'me u batla ho tsamaisa Selenoid sebakeng sa heno, joale sena se ke ke sa khoneha ho etsa liteko tsa Android. Empa o ka lula o tsamaisa Linux VM sebakeng sa heno ka 'nested virtualization' e hlophisitsoeng le ho kenya Selenoid kahare.

Setšoantšo sa boemo ba hajoale ba meaho

Moelelong oa sengoloa sena, re tla eketsa lisebelisoa tsa 2 ho bonts'a lits'ebetso. Tsena ke grid ea Selenium bakeng sa liteko tsa webo le Selenoid bakeng sa liteko tsa Android. Thutong ea GitHub, ke tla u bontša mokhoa oa ho sebelisa Selenoid ho etsa liteko tsa webo. 

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang

  • Ho na le lisebelisoa tse ling tsa lisebelisoa, empa Docker ke eona e tsebahalang haholo. Haeba u batla ho leka ntho e 'ngoe, hopola hore lisebelisoa tseo re li koahetseng bakeng sa ho etsa liteko tsa Selenium ka ho bapisa li ke ke tsa sebetsa ka ntle ho lebokose.  
  • Joalokaha ho se ho boletsoe, ho na le liphetoho tse ngata tsa grid ea Selenium, mohlala, Zalenium.

4.CI/CD

Tlhaloso e khutšoanyane ea theknoloji

Mokhoa oa ho kopanya o sa khaotseng o tumme haholo nts'etsopele 'me o lekana le litsamaiso tsa taolo ea mofuta. Leha ho le joalo, ke utloa eka ho na le pherekano tabeng ea mantsoe. Serapeng sena ke rata ho hlalosa liphetoho tse 3 tsa theknoloji ena ho ea ka pono ea ka. Marang-rang u tla fumana lingoliloeng tse ngata tse nang le litlhaloso tse fapaneng, 'me ho tloaelehile haholo haeba maikutlo a hau a fapana. Ntho ea bohlokoa ka ho fetisisa ke hore u le leqepheng le le leng le basebetsi-'moho le uena.

Kahoo, ho na le mantsoe a 3: CI - Tšebelisano e Tsoelang Pele, CD - Tšebeliso e Tsoelang Pele le CD - Tšebeliso e Tsoelang Pele. (Ka tlase ke tla sebelisa mantsoe ana ka Senyesemane). Phetoho e 'ngoe le e' ngoe e eketsa mehato e 'maloa ho phaephe ea hau ea ntlafatso. Empa lentsoe e tsoelang pele (tswellang) ke ntho ya bohlokwa ka ho fetisisa. Moelelong ona, re bolela ntho e etsahalang ho tloha qalong ho isa qetellong, ntle le tšitiso kapa ho kenella ka letsoho. Ha re shebeng CI & CD le CD molemong ona.

  • Kopanyo e Tsoelang Pele ona ke mohato oa pele oa ho iphetola ha lintho. Ka mor'a ho fana ka khoutu e ncha ho seva, re lebeletse ho fumana maikutlo a potlakileng a hore liphetoho tsa rona li lokile. Ka tloaelo, CI e kenyelletsa ho sebelisa lisebelisoa tsa tlhahlobo ea khoutu e tsitsitseng le liteko tsa yuniti/ka hare tsa API. Sena se re fa monyetla oa ho fumana leseli mabapi le khoutu ea rona ka metsotsoana/metsotso e seng mekae.
  • Tlhahiso e Tsoelang Pele ke mohato o tsoetseng pele haholo moo re tsamaisang liteko tsa ho kopanya/UI. Leha ho le joalo, mothating ona ha re fumane liphetho kapele joalo ka CI. Taba ea pele, mefuta ena ea liteko e nka nako e telele ho phethoa. Taba ea bobeli, pele re qala, re tlameha ho fetisetsa liphetoho tsa rona tikolohong ea liteko / sethala. Ho feta moo, haeba re bua ka nts'etsopele ea mehala, joale mohato o eketsehileng o bonahala o theha moaho oa ts'ebeliso ea rona.
  • Ts'ebetso e Tsoelang Pele e nka hore re lokolla liphetoho tsa rona tlhahisong ka bo eona haeba liteko tsohle tsa ho amohela li fetisitsoe mekhahlelong e fetileng. Ho phaella ho sena, ka mor'a sethaleng sa tokollo, o ka lokisa mekhahlelo e fapaneng, e kang ho etsa liteko tsa mosi ho hlahisa le ho bokella metrics ea thahasello. Tšebeliso e Tsoelang Pele e ka khoneha feela ka tšireletso e ntle ka liteko tse ikemetseng. Haeba ho hlokahala mehato efe kapa efe ea matsoho, ho kenyelletsa le tlhahlobo, joale sena ha se sa le joalo tsoelang pele (tswellang). Joale re ka re pipeline ea rona e lumellana feela le mokhoa oa Continuous Delivery.

Boleng ba lisebelisoa tsa boiketsetso

Karolong ena, ke tlameha ho hlakisa hore ha re bua ka liteko tsa UI tsa ho qetela, ho bolela hore re lokela ho fana ka liphetoho tsa rona le lits'ebeletso tse amanang le tsona libakeng tsa liteko. Tšebelisano e Tsoelang Pele - ts'ebetso ha e sebetse mosebetsing ona 'me re tlameha ho hlokomela ho kenya ts'ebetsong bonyane mekhoa e tsoelang pele ea ho fana ka thepa. Tšebeliso e Tsoelang Pele e boetse e utloahala maemong a liteko tsa UI haeba re tla li tsamaisa tlhahiso.

'Me pele re sheba papiso ea phetoho ea meralo, ke batla ho bua mantsoe a seng makae ka GitLab CI. Ho fapana le lisebelisoa tse ling tsa CI/CD, GitLab e fana ka polokelo e hole le likarolo tse ling tse ngata. Kahoo, GitLab e feta CI. E kenyelletsa tsamaiso ea khoutu ea mohloli, tsamaiso ea Agile, liphaephe tsa CI / CD, lisebelisoa tsa ho rema lifate le pokello ea metrics ka ntle ho lebokose. Moralo oa GitLab o na le Gitlab CI/CD le GitLab Runner. Tlhaloso e khutšoane ho tsoa webosaeteng ea semmuso ke ena:

Gitlab CI/CD ke ts'ebeliso ea webo e nang le API e bolokang boemo ba eona sebakeng sa polokelo ea litaba, e laola merero / e hahang mme e fana ka sebopeho sa mosebelisi. GitLab Runner ke sesebelisoa se hahang lits'ebetso. E ka romelloa ka thoko 'me e sebetsa le GitLab CI/CD ka API. Bakeng sa liteko tse sebetsang u hloka mohlala oa Gitlab le Runner.

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang

5. Leru platforms

Tlhaloso e khutšoanyane ea theknoloji

Karolong ena re tla bua ka mokhoa o tummeng o bitsoang 'maru a sechaba'. Leha ho na le melemo e mengata eo theknoloji ea virtualization le lisebelisoa tse hlalositsoeng ka holimo e fanang ka tsona, re ntse re hloka lisebelisoa tsa komporo. Likhamphani li reka li-server tse theko e boima kapa li hira litsi tsa data, empa tabeng ena ho hlokahala ho etsa lipalo (ka linako tse ling e sa utloahaleng) ea hore na re tla hloka lisebelisoa tse kae, ebang re tla li sebelisa 24/7 le ka merero efe. Ka mohlala, tlhahiso e hloka seva e sebetsang XNUMX/XNUMX, empa na re hloka lisebelisoa tse tšoanang bakeng sa tlhahlobo ka ntle ho lihora tsa mosebetsi? Hape ho itšetlehile ka mofuta oa tlhahlobo e etsoang. Mohlala e ka ba liteko tsa load/stress tseo re rerileng ho li etsa nakong eo re sa sebetseng e le hore re fumane sephetho letsatsing le hlahlamang. Empa ha e le hantle ho fumaneha ha li-server tsa XNUMX/XNUMX ha ho hlokahale bakeng sa liteko tsa ho qetela ho isa qetellong, haholo-holo eseng bakeng sa libaka tsa tlhahlobo ea matsoho. Maemong a joalo, ho ka ba molemo ho fumana lisebelisoa tse ngata kamoo ho hlokahalang ha ho hlokahala, ho li sebelisa, le ho khaotsa ho lefa ha li se li sa hlokahale. Ho feta moo, ho ka ba monate ho li amohela hang-hang ka ho tobetsa litoeba tse seng kae kapa ho sebelisa mangolo a 'maloa. Sena ke seo maru a sechaba a se sebelisang. Ha re shebeng tlhaloso:

"Leru la sechaba le hlalosoa e le lits'ebeletso tsa komporo tse fanoang ke bafani ba mekhatlo ea boraro marang-rang a sechaba, ho etsa hore li fumanehe ho mang kapa mang ea batlang ho li sebelisa kapa ho li reka. Li ka ba tsa mahala kapa tsa rekisoa ha li batloa, ho lumella bareki ho lefa feela ts'ebeliso e 'ngoe le e' ngoe bakeng sa lipotoloho tsa CPU, polokelo kapa bandwidth eo ba e sebelisang. ”

Ho na le maikutlo a hore maru a sechaba a theko e boima. Empa mohopolo oa bona o ka sehloohong ke ho fokotsa litšenyehelo tsa khampani. Joalokaha ho boletsoe pejana, maru a sechaba a u lumella ho fumana lisebelisoa ka tlhokahalo le ho lefa feela nako eo u e sebelisang. Hape, ka linako tse ling re lebala hore basebetsi ba fumana meputso, 'me litsebi le tsona ke mohloli o theko e boima. Ho tlameha ho nahanoa hore maru a sechaba a etsa hore ts'ehetso ea litšebeletso tsa motheo e be bonolo haholo, e lumellang baenjiniere ho tsepamisa maikutlo mesebetsing ea bohlokoa haholo. 

Boleng ba lisebelisoa tsa boiketsetso

Ke lisebelisoa life tse khethehileng tseo re li hlokang bakeng sa liteko tsa ho qetela tsa UI? Ha e le hantle, ena ke mechini kapa lihlopha tse fumanehang (re tla bua ka Kubernetes karolong e latelang) bakeng sa ho tsamaisa libatli le li-emulators. Ha re batla ho sebelisa li-browser le li-emulators tse ngata ka nako e le 'ngoe, ho hlokahala hore ho be le CPU le memori e eketsehileng le chelete e ngata eo re lokelang ho e lefella. Kahoo, maru a sechaba molemong oa boiketsetso ba liteko a re lumella ho tsamaisa palo e kholo (100, 200, 1000 ...) ea libatli / li-emulators ha li batloa, ho fumana liphetho tsa liteko kapele kamoo ho ka khonehang, 'me re khaotse ho lefa bakeng sa lisebelisoa tse ngata joalo tsa bohlanya. matla. 

Bafani ba maru ba tsebahalang haholo ke Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP). Tataiso ea ho sebelisa GCP e fana ka mehlala ea mokhoa oa ho sebelisa GCP, empa ka kakaretso ha ho na taba hore na u sebelisa mesebetsi efe ea boiketsetso. Kaofela li fana ka ts'ebetso e batlang e tšoana. Ka tloaelo, ho khetha mofani, botsamaisi bo shebana le lits'ebetso tsohle tsa k'hamphani le litlhoko tsa khoebo, tse fetang sengoloa sena. Bakeng sa baenjiniere ba li-automation, ho tla ba monate haholo ho bapisa tšebeliso ea bafani ba maru le tšebeliso ea li-platform tsa maru ka ho khetheha bakeng sa merero ea tlhahlobo, e kang Sauce Labs, BrowserStack, BitBar, joalo-joalo. Kahoo le rona re e etse! Ka maikutlo a ka, Sauce Labs ke polasi e tummeng ka ho fetisisa ea ho hlahloba maru, ke kahoo ke e sebelisitseng ho bapisa. 

GCP vs Sauce Labs molemong oa boiketsetso:

Ha re nahane hore re hloka ho etsa liteko tse 8 tsa webo le liteko tse 8 tsa Android ka nako e le 'ngoe. Bakeng sa sena re tla sebelisa GCP mme re tsamaise mechini e 2 ea sebele e nang le Selenoid. Ho ea pele re tla phahamisa lijana tse 8 tse nang le libatli. Ea bobeli ho na le lijana tse 8 tse nang le li-emulators. Ha re shebeng litheko:  

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong
Ho tsamaisa setshelo se le seng ka Chrome, rea hloka n1-e tloaelehileng-1 koloi. Tabeng ea Android ho tla ba joalo n1-e tloaelehileng-4 bakeng sa emulator e le 'ngoe. Ebile, mokhoa o feto-fetohang le o theko e tlase ke ho beha litekanyetso tse ikhethileng tsa mosebelisi bakeng sa CPU / Memori, empa hajoale sena ha se bohlokoa ha se bapisoa le Sauce Labs.

Mona ke litefiso tsa ho sebelisa Sauce Labs:

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong
Ke lumela hore u se u hlokometse phapang, empa ke ntse ke tla fana ka tafole e nang le lipalo bakeng sa mosebetsi oa rona:

Lisebelisoa tse hlokahalang
Khoeli le khoeli
Lihora tse sebetsang(8 hoseng - 8pm)
Lihora tse sebetsang+ E bonolo

GCP bakeng sa Web
n1-standard-1 x 8 = n1-standard-8
$194.18
Matsatsi a 23 * 12h * 0.38 = $ 104.88 
Matsatsi a 23 * 12h * 0.08 = $ 22.08

Sauce Labs bakeng sa Web
Liteko tse bapileng tsa Virtual Cloud8
$1.559
-
-

GCP bakeng sa Android
n1-standard-4 x 8: n1-standard-16
$776.72
Matsatsi a 23 * 12h * 1.52 = $ 419.52 
Matsatsi a 23 * 12h * 0.32 = $ 88.32

Sauce Labs bakeng sa Android
Liteko tse bapileng tsa Sesebelisoa sa Real Cloud 8
$1.999
-
-

Joalokaha u ka bona, phapang ea litšenyehelo e kholo, haholo-holo haeba u etsa liteko feela nakong ea lihora tse leshome le metso e 'meli ea ho sebetsa. Empa o ka fokotsa litšenyehelo le ho feta haeba o sebelisa metjhini e kentsoeng pele. Ke eng?

VM e sa lebelloang ke mohlala oo u ka o etsang le ho o tsamaisa ka theko e tlase ho feta maemo a tloaelehileng. Leha ho le joalo, Compute Engine e ka emisa (preempt) maemo ana haeba e hloka phihlello ea lisebelisoa tseo bakeng sa mesebetsi e meng. Maemo a sa lebelloang ke bokhoni bo feteletseng ba Enjine ea Compute, ka hona ho fumaneha ha bona ho fapana ho ea ka ts'ebeliso.

Haeba lits'ebetso tsa hau li mamella liphoso 'me li khona ho mamella liteko tse ka bang teng, maemo a sa lebelloang a ka fokotsa litšenyehelo tsa Compute Engine haholo. Mohlala, mesebetsi ea ho lokisa li-batch e ka sebetsa maemong a sa lebelloang. Haeba tse ling tsa maemo ao li emisa nakong ea ts'ebetso, mosebetsi oa lieha empa ha o emise ka botlalo. Maemo a ka lebelloang a phethela mesebetsi ea hau ea batch ntle le ho beha mosebetsi o mongata maemong a hau a teng mme ntle le hore o lefe theko e felletseng bakeng sa maemo a eketsehileng a tloaelehileng.

'Me e ntse e e-s'o fele! Ha e le hantle, ke na le bonnete ba hore ha ho motho ea tsamaisang liteko lihora tse 12 ntle le khefu. 'Me haeba ho joalo, joale u ka qala le ho emisa mechine ea sebele ha e sa hlokahale. Nako ea sebele ea tšebeliso e ka fokotsoa ho lihora tse 6 ka letsatsi. Ebe tefo ea moelelo oa mosebetsi oa rona e tla fokotseha ho $ 11 ka khoeli bakeng sa libatli tse 8. Na see ha se babatsehe? Empa ka mechini e kentsoeng pele re tlameha ho ba hlokolosi le ho itokisetsa litšitiso le ho hloka botsitso, leha maemo ana a ka fanoa le ho sebetsoa ka software. Ke habohlokoa!

Empa ho hang ha ke re 'le ka mohla u se ke ua sebelisa mapolasi a tlhahlobo ea maru'. Li na le melemo e mengata. Pele ho tsohle, sena ha se mochini o sebetsang feela, empa ke tharollo e felletseng ea tlhahlobo e felletseng e nang le ts'ebetso e tsoang ka har'a lebokose: phihlello e hole, li-log, li-screenshots, ho rekota video, libatli tse fapaneng le lisebelisoa tsa cellular tsa 'mele. Maemong a mangata, sena e ka ba khetho ea bohlokoa ea chic. Li-platform tsa liteko li bohlokoa haholo bakeng sa automation ea IOS, ha maru a sechaba a ka fana ka lits'ebetso tsa Linux/Windows feela. Empa re tla bua ka iOS lihloohong tse latelang. Ke khothaletsa kamehla ho sheba boemo le ho qala ho tloha mesebetsing: maemong a mang ho theko e tlaase ebile ho sebetsa hantle ho sebelisa maru a sechaba, 'me ho tse ling liforomo tsa liteko li hlile li lekana le chelete e sebelisitsoeng.

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang:

6. Sehlopha sa 'mino oa liletsa

Tlhaloso e khutšoanyane ea theknoloji

Ke na le litaba tse monate - re se re le qetellong ea sehlooho! Hajoale, lisebelisoa tsa rona tsa boiketsetso li na le liteko tsa marang-rang le tsa Android, tseo re li tsamaisang ka GitLab CI ka ho ts'oana, re sebelisa lisebelisoa tse nolofalitsoeng ke Docker: grid ea Selenium le Selenoid. Ho feta moo, re sebelisa mechini ea sebele e entsoeng ka GCP ho amohela lijana tse nang le libatli le li-emulators. Ho fokotsa litšenyehelo, re qala mechini ena e fumanehang feela ka tlhokahalo ebe re e emisa ha tlhahlobo e sa etsoe. Na ho na le ntho e 'ngoe hape e ka ntlafatsang litšebeletso tsa rona tsa motheo? Karabo ke e! Kopana le Kubernetes (K8s)!

Taba ea pele, a re shebeng hore na mantsoe a orchestration, cluster, le Kubernetes a amana joang. Boemong bo phahameng, orchestration ke sistimi e sebelisang le ho laola lits'ebetso. Bakeng sa boiketsetso ba liteko, lits'ebetso tse joalo tse nang le setshelo ke Selenium grid le Selenoid. Docker le K8s lia tlatsana. Ea pele e sebelisoa bakeng sa phepelo ea likopo, ea bobeli e sebelisetsoa ho hlophisa. Ka lehlakoreng le leng, K8s ke sehlopha. Mosebetsi oa sehlopha ke ho sebelisa li-VM joalo ka Node, e u lumellang ho kenya ts'ebetso e fapaneng, mananeo le lits'ebeletso ka har'a seva e le 'ngoe (sehlopha). Haeba e 'ngoe ea Node e hloleha, Node tse ling li tla nka, e leng se netefatsang ts'ebetso e sa sitisoeng ea ts'ebeliso ea rona. Ho phaella ho sena, K8s e na le ts'ebetso ea bohlokoa e amanang le ho phahamisa, ka lebaka leo ka bohona re fumanang palo e nepahetseng ea lisebelisoa ho latela mojaro le meeli e behiloeng.

Ka 'nete, ho tsamaisa Kubernetes ho tloha qalong ha se mosebetsi o bobebe ho hang. Ke tla siea sehokelo ho motho ea tsebahalang oa ho tataisa "Kubernetes The Hard Way" 'me haeba u thahasella, u ka e sebelisa. Empa, ka lehlohonolo, ho na le mekhoa le lisebelisoa tse ling. Tsela e bonolo ka ho fetisisa ke ho sebelisa Google Kubernetes Engine (GKE) ho GCP, e tla u lumella ho fumana sehlopha se seng se itokisitse ka ho tobetsa tse 'maloa. Ke khothaletsa ho sebelisa mokhoa ona ho qala ho ithuta, kaha o tla u lumella ho tsepamisa maikutlo ho ithuteng ho sebelisa li-K8 bakeng sa mesebetsi ea hau ho e-na le ho ithuta hore na likarolo tsa ka hare li lokela ho kopanngoa joang. 

Boleng ba lisebelisoa tsa boiketsetso

Ha re shebeng likarolo tse 'maloa tsa bohlokoa tseo K8s e fanang ka tsona:

  • phepelo ea kopo: ho sebelisa sehlopha sa li-node tse ngata sebakeng sa li-VM;
  • dynamic scaling: ho fokotsa litšenyehelo tsa lisebelisoa tse sebelisoang feela ka tlhokahalo;
  • ho ipholisa: ho hlaphoheloa ka mokhoa o itekanetseng oa li-pods (ka lebaka la hore lijana le tsona li tsosolosoa);
  • ho phatlalatsoa ha liapdeite le li-rollback tsa liphetoho ntle le nako ea ho theoha: lisebelisoa tsa ntlafatso, libatli le li-emulator ha li sitise mosebetsi oa basebelisi ba hajoale.

Empa K8s e ntse e se kulo ea silevera. Ho utloisisa melemo eohle le mefokolo ea moelelo oa lisebelisoa tseo re li nahanang (Selenium grid, Selenoid), re tla tšohla ka bokhutšoanyane sebopeho sa K8s. Sehlopha se na le mefuta e 'meli ea li-Node: Master Node le Workers Node. Li-Master Node li na le boikarabelo ba ho laola, ho tsamaisa le ho hlophisa liqeto. Li-node tsa basebetsi ke moo likopo li qalisoang teng. Li-node li boetse li na le tikoloho ea nako ea ho sebetsa ea setshelo. Tabeng ea rona, ena ke Docker, e ikarabellang bakeng sa ts'ebetso e amanang le setshelo. Empa ho boetse ho na le litharollo tse ling, mohlala sets'oants'o. Ho bohlokoa ho utloisisa hore ho ipholisa kapa ho ipholisa ha ho sebetse ka kotloloho ho lijana. Sena se kengoa ts'ebetsong ka ho eketsa / ho fokotsa palo ea li-pods, tseo hape li nang le lijana (hangata setshelo se le seng ka pod, empa ho itšetlehile ka mosebetsi ho ka 'na ha e-ba le tse ling). Tsamaiso ea maemo a holimo e na le li-node tsa basebetsi, ka hare ho tsona ho na le li-pods, tseo ka hare ho tsona lijana li phahamisitsoeng.

Karolo ea ho lekanya ke ea bohlokoa 'me e ka sebelisoa ho li-node ka bobeli ka har'a letamo la cluster node le li-pods ka har'a node. Ho na le mefuta e 'meli ea li-scaling tse sebetsang ho li-node le li-pods. Mofuta oa pele o otlolohile - ho lekanya ho etsahala ka ho eketsa palo ea li-nodes/pods. Mofuta ona o molemo ho feta. Mofuta oa bobeli ke, ho latela, o otlolohileng. Ho lekanya ho etsoa ka ho eketsa boholo ba li-node / li-pods, eseng palo ea tsona.

Joale ha re shebeng lisebelisoa tsa rona ho latela maemo a boletsoeng ka holimo.

Sekhahla sa selenium

Joalokaha ho boletsoe pejana, grid ea Selenium ke sesebelisoa se tsebahalang haholo, 'me ha ho makatse hore ebe e kentsoe ka har'a setshelo. Ka hona, ha ho makatse hore ebe grid ea Selenium e ka sebelisoa ho K8s. Mohlala oa mokhoa oa ho etsa sena o ka fumanoa polokelong ea semmuso ea K8s. Joalo ka tloaelo, ke hokela likhokahano qetellong ea karolo. Ntle le moo, tataiso ea mokhoa oa ho tataisa e bonts'a mokhoa oa ho etsa sena ho Terraform. Ho boetse ho na le litaelo tsa ho lekanya palo ea li-pods tse nang le lijana tsa sebatli. Empa ts'ebetso ea ho lekanya ka mokhoa o itekanetseng maemong a K8s e ntse e se mosebetsi o hlakileng ka ho felletseng. Ha ke qala ho ithuta, ha kea ka ka fumana tataiso kapa litlhahiso leha e le life tse sebetsang. Ka mor'a lithuto le liteko tse 'maloa ka tšehetso ea sehlopha sa DevOps, re ile ra khetha mokhoa oa ho phahamisa lijana ka li-browser tse hlokahalang ka hare ho pod e le' ngoe, e leng ka har'a sebaka se le seng sa basebetsi. Mokhoa ona o re lumella ho sebelisa leano la ho phahamisa li-node ka ho eketsa palo ea tsona. Ke tšepa hore sena se tla fetoha nakong e tlang 'me re tla bona litlhaloso tse eketsehileng tsa mekhoa e metle le litharollo tse lokiselitsoeng, haholo-holo ka mor'a ho lokolloa ha grid 4 ea Selenium ka mohaho oa ka hare o fetotsoeng.

Selenoid:

Ho romelloa ha Selenoid ho K8s hajoale ke masoabi a maholo. Ha li tsamaisane. Ka khopolo, re ka phahamisa setshelo sa Selenoid ka hare ho pod, empa ha Selenoid e qala ho qalisa lijana ka li-browser, li tla be li ntse li le ka har'a pod e le 'ngoe. Sena se etsa hore ho se khonehe ho eketsa 'me, ka lebaka leo, mosebetsi oa Selenoid ka har'a sehlopha o ke ke oa fapana le mosebetsi ka har'a mochini o sebetsang. Qetello ya pale.

Moon:

Ho tseba bothata bona ha ba sebetsa le Selenoid, bahlahisi ba ile ba lokolla sesebelisoa se matla haholoanyane se bitsoang Khoeli. Sesebelisoa sena se ne se etselitsoe ho sebetsa le Kubernetes, ka lebaka leo, sebopeho sa autoscaling se ka sebelisoa ebile se lokela ho sebelisoa. Ho feta moo, nka re hona joale ho joalo eona feela sesebelisoa lefatšeng la Selenium, se nang le tšehetso ea sehlopha sa K8s ka ntle ho lebokose (ha e sa fumaneha, sheba sesebelisoa se latelang ). Likarolo tsa bohlokoa tsa Khoeli tse fanang ka tšehetso ena ke: 

Ha ho naha ka ho felletseng. Selenoid e boloka boitsebiso ba memori mabapi le linako tse sebetsang tsa seshebisi. Haeba ka lebaka le itseng ts'ebetso ea eona e senyeha - joale linako tsohle tse tsamaeang lia lahleha. Ka lehlakoreng le leng, khoeli ha e na boemo bo ka hare ho naha 'me e ka kopitsoa ho litsi tsa data. Seshene sa sebatli se ntse se phela le haeba setšoantšo se le seng kapa ho feta se ka theoha.

Kahoo, Khoeli ke tharollo e ntle, empa ho na le bothata bo le bong: ha e na mahala. Theko e itšetlehile ka palo ea mananeo. U ka tsamaisa linako tse 0-4 feela mahala, tse seng molemo haholo. Empa, ho qala lenaneong la bohlano, o tla tlameha ho lefa $5 bakeng sa e 'ngoe le e 'ngoe. Boemo bo ka fapana ho tloha k'hamphani ho ea ho k'hamphani, empa molemong oa rona, ho sebelisa Khoeli ha ho na thuso. Joalokaha ke hlalositse ka holimo, re ka tsamaisa li-VM ka Selenium Grid ka tlhokahalo kapa ra eketsa palo ea Nodes sehlopheng. Hoo e ka bang mokhoa o le mong, re qala libatli tse 500 'me re emisa lisebelisoa tsohle ka mor'a hore liteko li phetheloe. Haeba re ne re sebelisa Khoeli, re ne re tla tlameha ho lefa e eketsehileng 500 x 5 = $2500 ka khoeli, ho sa tsotellehe hore na re etsa liteko hangata hakae. Hape, ha ke re u se ke ua sebelisa Khoeli. Bakeng sa mesebetsi ea hau, ena e ka ba tharollo ea bohlokoa, mohlala, haeba u na le merero / lihlopha tse ngata mokhatlong oa hau 'me u hloka sehlopha se seholo se tloaelehileng bakeng sa bohle. Joalo ka mehla, ke siea sehokelo qetellong mme ke khothaletsa ho etsa lipalo tsohle tse hlokahalang molemong oa mosebetsi oa hau.

Callisto: (Ela hloko! Sena ha se teng sehloohong sa pele mme se fumaneha feela ka phetolelo ea Serussia)

Joalokaha ke boletse, Selenium ke sesebelisoa se tummeng haholo, 'me tšimo ea IT e ntse e tsoela pele ka potlako haholo. Ha ke ntse ke sebetsa mosebetsing oa ho fetolela, sesebelisoa se secha se tšepisang se bitsoang Callisto se ile sa hlaha ho web (hello Cypress le babolai ba bang ba Selenium). E sebetsa ka tlhaho le K8s mme e o lumella ho tsamaisa lijana tsa Selenoid ka har'a li-pods, tse ajoang ho pholletsa le Node. Ntho e 'ngoe le e' ngoe e sebetsa hantle ka ntle ho lebokose, ho kenyelletsa le autoscaling. E monate, empa e hloka ho hlahlojoa. Ke se ke khonne ho sebelisa sesebelisoa sena le ho etsa liteko tse 'maloa. Empa e sa le qalong haholo ho etsa liqeto, ka mor'a ho fumana liphetho ka nako e telele, mohlomong ke tla etsa tlhahlobo lihloohong tse tlang. Hajoale ke siea lihokelo feela bakeng sa lipatlisiso tse ikemetseng.  

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba

Lisebelisoa tse tšoanang

7. Infrastructure as Code (IaC)

Tlhaloso e khutšoanyane ea theknoloji

Mme jwale re tla karolong ya ho qetela. Ka tloaelo, theknoloji ena le mesebetsi e amanang le eona ha se boikarabello ba lienjineri tsa boiketsetso. Mme ho na le mabaka a sena. Taba ea pele, mekhatlong e mengata, litaba tsa meralo li tlas'a taolo ea lefapha la DevOps 'me lihlopha tsa nts'etsopele ha li tsotelle hore na ke eng e etsang hore pipeline e sebetse le hore na ntho e' ngoe le e 'ngoe e amanang le eona e hloka ho tšehetsoa joang. Taba ea bobeli, ha re bue 'nete, tloaelo ea Infrastructure as Code (IaC) e ntse e sa amoheloe lik'hamphaning tse ngata. Empa ka sebele e fetohile mokhoa o tummeng 'me ke habohlokoa ho leka ho kenya letsoho lits'ebetsong, mekhoa le lisebelisoa tse amanang le eona. Kapa bonyane lula u ntse u le teng.

Ha re qaleng ka tšusumetso ea ho sebelisa mokhoa ona. Re se re buisane ka hore ho etsa liteko ho GitlabCI, re tla hloka bonyane lisebelisoa tsa ho tsamaisa Gitlab Runner. 'Me ho tsamaisa lijana ka li-browser/emulators, re hloka ho boloka VM kapa cluster. Ntle le lisebelisoa tsa tlhahlobo, re hloka palo e kholo ea bokhoni ba ho ts'ehetsa nts'etsopele, sethala, tikoloho ea tlhahiso, e kenyelletsang le li-database, litlhophiso tsa othomathike, litlhophiso tsa marang-rang, li-balancers tsa mojaro, litokelo tsa basebelisi, joalo-joalo. Taba ea bohlokoa ke boiteko bo hlokahalang ho e tšehetsa kaofela. Ho na le mekhoa e mengata eo re ka e fetolang le ho etsa lintlafatso. Mohlala, maemong a GCP, re ka sebelisa khomphutha ea UI ho sebatli mme ra etsa liketso tsohle ka ho tobetsa likonopo. Mokhoa o mong e ka ba ho sebelisa mehala ea API ho sebelisana le mekhatlo ea maru, kapa ho sebelisa sesebelisoa sa taelo ea gcloud ho etsa manonyeletso a lakatsehang. Empa ka palo e kholo ea likarolo tse fapaneng le likarolo tsa meralo, ho ba thata kapa ho sa khonehe ho etsa ts'ebetso eohle ka letsoho. Ho feta moo, liketso tsena tsohle tsa matsoho ha li laolehe. Re ke ke ra li romella hore li hlahlojoe pele li etsoa, ​​ra sebelisa sistimi ea taolo ea mofuta, le ho khutlisa kapele liphetoho tse lebisitseng ketsahalong ena. Ho rarolla mathata a joalo, baenjiniere ba ile ba theha le ho iketsetsa li-script tsa bash / shell, tse seng molemo ho feta mekhoa e fetileng, kaha ha ho bonolo ho bala ka potlako, ho utloisisa, ho boloka le ho fetola ka mokhoa oa tsamaiso.

Sehloohong sena le mokhoa oa ho tataisa, ke sebelisa lisebelisoa tsa 2 tse amanang le tloaelo ea IaC. Tsena ke Terraform le Ansible. Batho ba bang ba lumela hore ha ho utloahale ho li sebelisa ka nako e le 'ngoe, kaha ts'ebetso ea tsona e ts'oana ebile lia fetoha. Empa 'nete ke hore qalong ba fuoa mesebetsi e fapaneng ka ho feletseng. 'Me taba ea hore lisebelisoa tsena li lokela ho tlatsana e tiisitsoe ka tlhahiso e kopanetsoeng ke baetsi ba emelang HashiCorp le RedHat. Phapang ea mohopolo ke hore Terraform ke sesebelisoa sa ho fana ka taolo ea li-server ka botsona. Leha Ansible e le sesebelisoa sa taolo ea tlhophiso eo mosebetsi oa eona e leng ho kenya, ho hlophisa le ho laola software ho li-server tsena.

Ntho e 'ngoe e ka sehloohong e khethollang lisebelisoa tsena ke mokhoa oa ho ngola. Ho fapana le bash le Ansible, Terraform e sebelisa mokhoa oa phatlalatso o thehiloeng ho tlhaloso ea boemo bo lakatsehang bo lokelang ho finyelloa ka lebaka la ho bolaoa. Mohlala, haeba re tla theha li-VM tse 10 mme re sebelise liphetoho ka Terraform, re tla fumana li-VM tse 10. Haeba re tsamaisa script hape, ha ho letho le tla etsahala kaha re se re ntse re e-na le li-VM tse 10, 'me Terraform e tseba ka sena hobane e boloka boemo ba hona joale ba mekhoa ea motheo ka faele ea naha. Empa Ansible e sebelisa mokhoa oa ts'ebetso 'me, haeba u e kopa ho theha li-VM tse 10, joale ts'ebetsong ea pele re tla fumana li-VM tse 10, tse tšoanang le Terraform. Empa kamora ho qala bocha re tla be re se re na le li-VM tse 20. Ena ke eona phapang ea bohlokoa. Ka mokhoa oa ts'ebetso, ha re boloke boemo ba hona joale mme re hlalosa feela tatellano ea mehato e lokelang ho etsoa. Ha e le hantle, re ka sebetsana le maemo a sa tšoaneng, re eketsa licheke tse 'maloa bakeng sa boteng ba lisebelisoa le boemo ba hona joale, empa ha ho na lebaka la ho senya nako ea rona le ho etsa boiteko ba ho laola mohopolo ona. Ho phaella moo, sena se eketsa kotsi ea ho etsa liphoso. 

Ha re akaretsa tsohle tse ka holimo, re ka fihlela qeto ea hore Terraform le declarative notation ke sesebelisoa se loketseng ho fana ka li-server. Empa ho molemo ho abela mosebetsi oa tsamaiso ea tlhophiso ho Ansible. Ha re se re le tseleng, ha re shebeng linyeoe tsa ts'ebeliso maemong a automation.

Boleng ba lisebelisoa tsa boiketsetso

Ntho feela ea bohlokoa eo u lokelang ho e utloisisa mona ke hore lisebelisoa tsa boiketsetso tsa liteko li lokela ho nkuoa e le karolo ea meaho eohle ea k'hamphani. Sena se bolela hore mekhoa eohle ea IaC e tlameha ho sebelisoa lefatšeng ka bophara ho lisebelisoa tsa mokhatlo oohle. Ke mang ea ikarabellang bakeng sa sena ho itšetlehile ka mekhoa ea hau. Sehlopha sa DevOps se na le phihlelo haholoanyane litabeng tsena, se bona setšoantšo sohle sa se etsahalang. Leha ho le joalo, baenjiniere ba QA ba ameha haholo mosebetsing oa ho haha ​​​​othomathiki le sebopeho sa pipeline, e leng se ba lumellang ho bona hantle liphetoho tsohle tse hlokahalang le menyetla ea ho ntlafatsa. Khetho e ntle ke ho sebetsa hammoho, ho fapanyetsana tsebo le mehopolo ho fihlela sephetho se lebelletsoeng. 

Mehlala ke ena ea ho sebelisa Terraform le Ansible molemong oa boiketsetso ba liteko le lisebelisoa tseo re buileng ka tsona pele:

1. Hlalosa litšobotsi tse hlokahalang le litekanyetso tsa li-VM le lihlopha tse sebelisang Terraform.

2. U sebelisa Ansible, kenya lisebelisoa tse hlokahalang bakeng sa tlhahlobo: docker, Selenoid, Selenium Grid le ho kopitsa liphetolelo tse hlokahalang tsa li-browser/emulators.

3. U sebelisa Terraform, hlalosa litšobotsi tsa VM eo ho eona GitLab Runner e tla thakholoa.

4. Kenya GitLab Runner le lisebelisoa tse hlokahalang tse tsamaeang le tsona u sebelisa Ansible, set li-setting le litlhophiso.

Setšoantšo sa boemo ba hajoale ba meaho

Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Lihokelo tsa ho hlahloba:

Lisebelisoa tse tšoanang

Ha re e akaretsa!

Bohato ba
Technology
Tools
Boleng ba lisebelisoa tsa boiketsetso

1
Ho matha sebakeng
Node.js, Selenium, Appium

  • Lisebelisoa tse tsebahalang haholo tsa webo le mobile
  • E tšehetsa lipuo le li-platform tse ngata (ho kenyeletsoa Node.js)

2
Mekhoa ea taolo ea mofuta 
Git

  • Melemo e ts'oanang le khoutu ea nts'etsopele

3
Containerization
Docker, grid ea Selenium, Selenoid (Web, Android)

  • Ho etsa liteko ka ho tsamaisana
  • Libaka tse ka thoko
  • Lintlafatso tse bonolo, tse feto-fetohang
  • Ka matla ho emisa lisebelisoa tse sa sebelisoeng
  • Ho bonolo ho e seta

4
CI/CD
Gitlab CI

  • E lekola karolo ea lipeipi
  • Maikutlo a Potlako
  • Ponahalo ea k'hamphani/sehlopha kaofela

5
Lipolanete tsa leru
Sebaka sa Cloud Cloud

  • Lisebelisoa ha li batloa (re lefa feela ha ho hlokahala)
  • Ho bonolo ho laola le ho ntlafatsa
  • Ponahalo le taolo ea lisebelisoa tsohle

6
Orchestration
Kubernetes
Boemong ba lijana tse nang le libatli / li-emulators ka har'a li-pods:

  • Katoloso/ Keleletso ya koloi
  • Boiketsi ba ho fodisa
  • Lintlafatso le li-rollback ntle le tšitiso

7
Meralo ea motheo e le khoutu (IaC)
Terraform, E utloahalang

  • Melemo e ts'oanang le meaho ea ntlafatso
  • Melemo eohle ea phetolelo ea khoutu
  • Ho bonolo ho etsa liphetoho le ho li boloka
  • Ka botlalo

Litšoantšo tsa 'mapa oa kelello: phetoho ea lisebelisoa

mohato1: Local
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Mohato oa 2: VCS
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

mohato3: Containerization 
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

mohato4: CI/CD 
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

mohato5: Cloud Platforms
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

mohato6:Ochestration
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Mohato oa 7: IaC
Lisebelisoa tsa DevOps ha se tsa DevOps feela. Mokhoa oa ho aha lisebelisoa tsa boiketsetso tsa liteko ho tloha qalong

Ke'ng e latelang?

Kahoo, ena ke qetello ea sehlooho. Empa qetellong, ke rata ho theha litumellano tse ling le uena.

Ho tloha lehlakoreng la hao
Joalokaha ke boletse qalong, ke rata hore sehlooho sena e be se molemo le ho u thusa ho sebelisa tsebo e fumanoang mosebetsing oa sebele. Ke eketsa hape khokahano ea tataiso e sebetsang.

Empa le ka mor'a moo, u se ke ua emisa, itloaetse, ithute li-link tse amanang le libuka, fumana hore na e sebetsa joang k'hamphaning ea hau, fumana libaka tse ka ntlafatsoang le ho kenya letsoho ho eona. Mahlohonolo!

Ho tloha lehlakoreng la ka

Ho tloha sehloohong u ka bona hore ena e ne e le karolo ea pele feela. Leha taba ea hore e ile ea bonahala e le kholo haholo, lihlooho tsa bohlokoa li ntse li sa tšohloa mona. Karolong ea bobeli, ke rerile ho sheba mekhoa ea mekhoa ea boipheliso boemong ba IOS. Ka lebaka la lithibelo tsa Apple mabapi le ho tsamaisa li-simulator tsa iOS feela lits'ebetsong tsa macOS, tharollo ea rona e fokotsehile. Mohlala, ha re khone ho sebelisa Docker ho tsamaisa simulator kapa maru a sechaba ho tsamaisa mechini ea sebele. Empa sena ha se bolele hore ha ho na mekhoa e meng. Ke tla leka ho u boloka u le morao-rao ka litharollo tse tsoetseng pele le lisebelisoa tsa sejoale-joale!

Hape, ha ke so bue ka lihlooho tse kholo tse amanang le ho beha leihlo. Karolong ea 3, ke tla sheba lisebelisoa tse tsebahalang haholo tsa ho lekola lits'ebetso le hore na ke lintlha life le metrics tse lokelang ho nahanoa.

Mme qetellong. Nakong e tlang, ke rera ho lokolla thupelo ea video mabapi le ho haha ​​​​lisebelisoa tsa tlhahlobo le lisebelisoa tse tsebahalang. Hajoale, ho na le lithuto le lithuto tse 'maloa ho DevOps Marang-rang, empa lisebelisoa tsohle li hlahisoa molemong oa nts'etsopele, eseng boiketsetso ba liteko. Tabeng ena, ke hlile ke hloka maikutlo a hore na thuto e joalo e tla ba e thahasellisang le ea bohlokoa bakeng sa sechaba sa bahlahlobi le baenjiniere ba li-automation. Kea leboha!

Source: www.habr.com

Eketsa ka tlhaloso