Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Apá 1: Web/Android

Daakọ: Nkan yii jẹ itumọ si Russian ti nkan atilẹba “Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. "Awọn amayederun adaṣe adaṣe ile lati ibere." Sibẹsibẹ, gbogbo awọn apejuwe, awọn ọna asopọ, awọn agbasọ ọrọ ati awọn ofin ni a tọju ni ede atilẹba lati yago fun ipalọlọ ti itumọ nigbati a tumọ si Russian. Mo fẹ ki o dun kika!

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Lọwọlọwọ, pataki DevOps jẹ ọkan ninu ibeere julọ ni ile-iṣẹ IT. Ti o ba ṣii awọn aaye wiwa iṣẹ olokiki ati ṣe àlẹmọ nipasẹ owo osu, iwọ yoo rii pe awọn iṣẹ ti o jọmọ DevOps wa ni oke ti atokọ naa. Sibẹsibẹ, o ṣe pataki lati ni oye pe eyi ni akọkọ tọka si ipo 'Oga', eyiti o tumọ si pe oludije ni ipele giga ti awọn ọgbọn, imọ-ẹrọ ati awọn irinṣẹ. Eyi tun wa pẹlu iwọn giga ti ojuse ti o ni nkan ṣe pẹlu iṣẹ ti ko ni idilọwọ ti iṣelọpọ. Sibẹsibẹ, a bẹrẹ lati gbagbe kini DevOps jẹ. Ni ibẹrẹ, kii ṣe eniyan kan pato tabi ẹka kan. Ti a ba wa awọn itumọ ọrọ yii, a yoo rii ọpọlọpọ awọn orukọ ti o lẹwa ati ti o tọ, gẹgẹbi ilana, awọn iṣe, imoye aṣa, ẹgbẹ awọn imọran, ati bẹbẹ lọ.

Amọja mi jẹ ẹlẹrọ adaṣe adaṣe idanwo (Ẹrọ adaṣe adaṣe QA), ṣugbọn Mo gbagbọ pe ko yẹ ki o ni nkan ṣe pẹlu kikọ awọn idanwo adaṣe nikan tabi idagbasoke faaji ilana idanwo. Ni ọdun 2020, imọ ti awọn amayederun adaṣe tun ṣe pataki. Eyi n gba ọ laaye lati ṣeto ilana adaṣe funrararẹ, lati ṣiṣe awọn idanwo lati pese awọn abajade si gbogbo awọn ti o nii ṣe ni ibamu pẹlu awọn ibi-afẹde rẹ. Bi abajade, awọn ọgbọn DevOps jẹ dandan lati gba iṣẹ naa. Ati pe gbogbo eyi dara, ṣugbọn, laanu, iṣoro kan wa (apanirun: nkan yii n gbiyanju lati ṣe irọrun iṣoro yii). Ojuami ni wipe DevOps jẹ lile. Ati pe eyi jẹ kedere, nitori awọn ile-iṣẹ kii yoo san owo pupọ fun nkan ti o rọrun lati ṣe ... Ni agbaye ti DevOps, ọpọlọpọ awọn irinṣẹ, awọn ofin, ati awọn iṣe ti o nilo lati ni oye. Eyi nira paapaa ni ibẹrẹ iṣẹ kan ati da lori iriri imọ-ẹrọ ikojọpọ.

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere
orisun: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

Nibi ti a yoo jasi pari pẹlu awọn iforo apa ati idojukọ lori awọn idi ti yi article. 

Kini nkan yii nipa?

Ninu nkan yii, Emi yoo pin iriri mi ti kikọ awọn amayederun adaṣe adaṣe idanwo kan. Ọpọlọpọ awọn orisun alaye wa lori Intanẹẹti nipa ọpọlọpọ awọn irinṣẹ ati bii o ṣe le lo wọn, ṣugbọn Emi yoo fẹ lati wo wọn ni mimọ ni aaye adaṣe adaṣe. Mo gbagbọ pe ọpọlọpọ awọn onimọ-ẹrọ adaṣe jẹ faramọ pẹlu ipo naa nigbati ko si ẹnikan ayafi ti o ba ṣe awọn idanwo ti o dagbasoke tabi bikita nipa titọju wọn. Bi abajade, awọn idanwo di igba atijọ ati pe o ni lati lo akoko mimu wọn dojuiwọn. Lẹẹkansi, ni ibẹrẹ iṣẹ kan, eyi le jẹ iṣẹ ṣiṣe ti o nira: pẹlu ọgbọn pinnu iru awọn irinṣẹ yẹ ki o ṣe iranlọwọ imukuro iṣoro ti a fun, bii o ṣe le yan, tunto ati ṣetọju wọn. Diẹ ninu awọn oludanwo yipada si DevOps (eda eniyan) fun iranlọwọ ati, jẹ ki a sọ ooto, ọna yii ṣiṣẹ. Ni ọpọlọpọ igba eyi le jẹ aṣayan nikan niwọn igba ti a ko ni hihan si gbogbo awọn igbẹkẹle. Ṣugbọn bi a ti mọ, DevOps jẹ awọn eniyan ti o nšišẹ pupọ, nitori wọn ni lati ronu nipa gbogbo awọn amayederun ile-iṣẹ, imuṣiṣẹ, ibojuwo, awọn iṣẹ microservices ati awọn iṣẹ ṣiṣe ti o jọra miiran ti o da lori agbari / ẹgbẹ. Gẹgẹbi igbagbogbo ọran, adaṣe kii ṣe pataki. Nínú irú ọ̀ràn bẹ́ẹ̀, a gbọ́dọ̀ gbìyànjú láti ṣe gbogbo ohun tí ó bá ṣeé ṣe níhà ọ̀dọ̀ wa láti ìbẹ̀rẹ̀ dé òpin. Eyi yoo dinku awọn igbẹkẹle, mu iyara ṣiṣẹ, mu awọn ọgbọn wa dara ati gba wa laaye lati rii aworan nla ti ohun ti n ṣẹlẹ.

Nkan naa ṣafihan awọn irinṣẹ olokiki julọ ati olokiki ati ṣafihan bi o ṣe le lo wọn lati kọ awọn amayederun adaṣe adaṣe ni igbese ni igbese. Ẹgbẹ kọọkan jẹ aṣoju nipasẹ awọn irinṣẹ ti a ti ni idanwo nipasẹ iriri ti ara ẹni. Ṣugbọn eyi ko tumọ si pe o ni lati lo ohun kanna. Awọn irinṣẹ tikararẹ ko ṣe pataki, wọn han ati di ti atijo. Iṣẹ-ṣiṣe imọ-ẹrọ wa ni lati loye awọn ilana ipilẹ: idi ti a nilo ẹgbẹ awọn irinṣẹ ati kini awọn iṣoro iṣẹ ti a le yanju pẹlu iranlọwọ wọn. Ti o ni idi ni opin apakan kọọkan Mo fi awọn ọna asopọ si awọn irinṣẹ ti o jọra ti o le ṣee lo ninu agbari rẹ.

Kini ko si ninu nkan yii

Mo tun ṣe lẹẹkansi pe nkan naa kii ṣe nipa awọn irinṣẹ kan pato, nitorinaa kii yoo si awọn ifibọ koodu lati inu iwe ati awọn apejuwe ti awọn aṣẹ kan pato. Ṣugbọn ni opin apakan kọọkan Mo fi awọn ọna asopọ silẹ fun ikẹkọ alaye.

Eyi ṣe nitori: 

  • ohun elo yii rọrun pupọ lati wa ni awọn orisun pupọ (iwe, awọn iwe, awọn iṣẹ fidio);
  • ti a ba bẹrẹ sii jinle, a yoo ni lati kọ awọn ẹya 10, 20, 30 ti nkan yii (nigba ti awọn ero jẹ 2-3);
  • Emi ko fẹ lati padanu akoko rẹ nitori o le fẹ lo awọn irinṣẹ miiran lati ṣaṣeyọri awọn ibi-afẹde kanna.

Ṣaṣeṣe

Emi yoo fẹ gaan ohun elo yii lati wulo fun gbogbo oluka, kii ṣe kika ati gbagbe nikan. Ninu iwadi eyikeyi, adaṣe jẹ paati pataki pupọ. Fun eyi ni mo ti pese sile Ibi ipamọ GitHub pẹlu awọn ilana igbesẹ-nipasẹ-igbesẹ lori bi o ṣe le ṣe ohun gbogbo lati ibere. Iṣẹ amurele tun wa nduro fun ọ lati rii daju pe o ko ṣe aibikita daakọ awọn ila ti awọn aṣẹ ti o n ṣiṣẹ.

Gbero

Igbese
Imọ-ẹrọ
Irinṣẹ

1
Ṣiṣẹ agbegbe (mura awọn idanwo oju opo wẹẹbu / Android ki o ṣiṣẹ ni agbegbe) 
Node.js, Selenium, Appium

2
Awọn ọna iṣakoso ẹya 
Git

3
Apoti
Docker, Selenium akoj, Selenoid (ayelujara, Android)

4
CI/CD
Gitlab CI

5
Awọn iru ẹrọ awọsanma
Google awọsanma Platform

6
Orilẹ-ede
Kubernetes

7
Awọn amayederun bi koodu (IaC)
Terraform, O ṣeeṣe

Ilana ti apakan kọọkan

Lati jẹ ki alaye naa di mimọ, apakan kọọkan ni a ṣe apejuwe ni ibamu si ilana ilana atẹle:

  • alaye kukuru ti imọ-ẹrọ,
  • iye fun awọn amayederun adaṣe,
  • apejuwe ti ipo lọwọlọwọ ti awọn amayederun,
  • awọn ọna asopọ si iwadi,
  • iru irinṣẹ.

1. Ṣiṣe awọn idanwo ni agbegbe

Apejuwe kukuru ti imọ-ẹrọ

Eyi jẹ igbesẹ igbaradi lati ṣiṣe awọn idanwo demo ni agbegbe ati rii daju pe wọn kọja. Ni apakan iṣe, Node.js ti lo, ṣugbọn ede siseto ati pẹpẹ ko tun ṣe pataki ati pe o le lo awọn ti o lo ninu ile-iṣẹ rẹ. 

Sibẹsibẹ, gẹgẹbi awọn irinṣẹ adaṣe, Mo ṣeduro lilo Selenium WebDriver fun awọn iru ẹrọ wẹẹbu ati Appium fun pẹpẹ Android, ni atele, nitori ni awọn igbesẹ ti nbọ a yoo lo awọn aworan Docker ti o ṣe deede lati ṣiṣẹ ni pataki pẹlu awọn irinṣẹ wọnyi. Pẹlupẹlu, tọka si awọn ibeere iṣẹ, awọn irinṣẹ wọnyi jẹ ibeere julọ ni ọja naa.

Bi o ṣe le ti ṣakiyesi, a gbero wẹẹbu ati awọn idanwo Android nikan. Laanu, iOS jẹ itan ti o yatọ patapata (o ṣeun Apple). Mo gbero lati ṣafihan awọn solusan ati awọn iṣe ti o jọmọ IOS ni awọn apakan ti n bọ.

Iye fun adaṣiṣẹ amayederun

Lati irisi amayederun, ṣiṣe ni agbegbe ko pese iye eyikeyi. O kan ṣayẹwo pe awọn idanwo nṣiṣẹ lori ẹrọ agbegbe ni awọn aṣawakiri agbegbe ati awọn simulators. Ṣugbọn ni eyikeyi ọran, eyi jẹ aaye ibẹrẹ pataki.

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Iru irinṣẹ

  • ede siseto eyikeyi ti o fẹ, ni apapo pẹlu awọn idanwo Selenium/Appium;
  • eyikeyi igbeyewo;
  • eyikeyi olusare igbeyewo.

2. Awọn ọna ṣiṣe iṣakoso ẹya (Git)

Apejuwe kukuru ti imọ-ẹrọ

Kii yoo jẹ ifihan nla si ẹnikẹni ti MO ba sọ pe iṣakoso ẹya jẹ apakan pataki pupọ ti idagbasoke, mejeeji ni ẹgbẹ kan ati ọkọọkan. Da lori awọn orisun pupọ, o jẹ ailewu lati sọ pe Git jẹ aṣoju olokiki julọ. Eto iṣakoso ẹya n pese ọpọlọpọ awọn anfani, gẹgẹbi pinpin koodu, titoju awọn ẹya, mimu-pada sipo si awọn ẹka iṣaaju, mimojuto itan iṣẹ akanṣe, ati awọn afẹyinti. A kii yoo jiroro lori aaye kọọkan ni kikun, nitori Mo ni idaniloju pe o faramọ pẹlu rẹ ati lo ninu iṣẹ ojoojumọ rẹ. Ṣugbọn ti ko ba lojiji, lẹhinna Mo ṣeduro idaduro kika nkan yii ati kikun aafo yii ni kete bi o ti ṣee.

Iye fun adaṣiṣẹ amayederun

Ati nihin o le beere ibeere ti o bọgbọnmu: “Kini idi ti o n sọ fun wa nipa Git? Gbogbo eniyan mọ eyi o si lo mejeeji fun koodu idagbasoke ati fun koodu idanwo-laifọwọyi. ” Iwọ yoo jẹ ẹtọ pipe, ṣugbọn ninu nkan yii a n sọrọ nipa awọn amayederun ati apakan yii ṣe bi awotẹlẹ fun apakan 7: “Amayederun bi koodu (IaC)”. Fun wa, eyi tumọ si pe gbogbo awọn amayederun, pẹlu idanwo, jẹ apejuwe ni irisi koodu, nitorinaa a tun le lo awọn eto ikede si rẹ ati gba awọn anfani kanna bi fun idagbasoke ati koodu adaṣe.

A yoo wo IaC ni awọn alaye diẹ sii ni Igbesẹ 7, ṣugbọn paapaa ni bayi o le bẹrẹ lilo Git ni agbegbe nipa ṣiṣẹda ibi ipamọ agbegbe kan. Aworan nla yoo gbooro sii nigbati a ba ṣafikun ibi ipamọ latọna jijin si awọn amayederun.

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Iru irinṣẹ

3. Apoti (Docker)

Apejuwe kukuru ti imọ-ẹrọ

Lati ṣe afihan bawo ni imudarapọ ti yi awọn ofin ere naa pada, jẹ ki a pada sẹhin ni akoko awọn ewadun diẹ. Pada lẹhinna, awọn eniyan ra ati lo awọn ẹrọ olupin lati ṣiṣe awọn ohun elo. Ṣugbọn ni ọpọlọpọ awọn ọran, awọn orisun ibẹrẹ ti a beere ni a ko mọ tẹlẹ. Bi abajade, awọn ile-iṣẹ lo owo lori rira gbowolori, awọn olupin ti o lagbara, ṣugbọn diẹ ninu agbara yii ko lo patapata.

Ipele ti o tẹle ti itankalẹ jẹ awọn ẹrọ foju (VMs), eyiti o yanju iṣoro ti sisọnu owo lori awọn orisun ti ko lo. Imọ-ẹrọ yii jẹ ki o ṣee ṣe lati ṣiṣe awọn ohun elo ni ominira ti ara wọn laarin olupin kanna, pinpin aaye ti o ya sọtọ patapata. Ṣugbọn, laanu, eyikeyi imọ-ẹrọ ni awọn alailanfani rẹ. Ṣiṣe VM nilo ẹrọ ṣiṣe ni kikun, eyiti o nlo Sipiyu, Ramu, ibi ipamọ ati, da lori OS, awọn idiyele iwe-aṣẹ nilo lati ṣe akiyesi. Awọn ifosiwewe wọnyi ni ipa lori iyara ikojọpọ ati jẹ ki gbigbe gbigbe le nira.

Ati nisisiyi a wá si containerization. Lẹẹkansi, imọ-ẹrọ yii yanju iṣoro iṣaaju, bi awọn apoti ko ṣe lo OS ni kikun, eyiti o sọ ọpọlọpọ awọn ohun elo laaye ati pese ojutu iyara ati irọrun fun gbigbe.

Nitoribẹẹ, imọ-ẹrọ iṣipopada kii ṣe nkan tuntun ati pe a kọkọ ṣafihan ni awọn 70s ti o pẹ. Ni awọn ọjọ yẹn, ọpọlọpọ awọn iwadii, awọn idagbasoke, ati awọn igbiyanju ni a ṣe. Ṣugbọn o jẹ Docker ti o ṣe atunṣe imọ-ẹrọ yii o jẹ ki o wa ni irọrun si awọn ọpọ eniyan. Ni ode oni, nigba ti a ba sọrọ nipa awọn apoti, ni ọpọlọpọ awọn ọran a tumọ si Docker. Nigba ti a ba sọrọ nipa awọn apoti Docker, a tumọ si awọn apoti Linux. A le lo awọn eto Windows ati macOS lati ṣiṣẹ awọn apoti, ṣugbọn o ṣe pataki lati ni oye pe ninu ọran yii afikun Layer yoo han. Fun apẹẹrẹ, Docker lori Mac ni idakẹjẹ nṣiṣẹ awọn apoti inu Linux VM iwuwo fẹẹrẹ kan. A yoo pada si koko yii nigba ti a ba jiroro ṣiṣiṣẹ awọn emulators Android inu awọn apoti, nitorinaa nibi nuance pataki kan wa ti o nilo lati jiroro ni awọn alaye diẹ sii.

Iye fun adaṣiṣẹ amayederun

A rii pe apoti ati Docker jẹ itura. Jẹ ki a wo eyi ni aaye ti adaṣe, nitori gbogbo ọpa tabi imọ-ẹrọ nilo lati yanju iṣoro kan. Jẹ ki a ṣe ilana awọn iṣoro ti o han gbangba ti adaṣe adaṣe ni aaye ti awọn idanwo UI:

  • nọmba nla ti awọn igbẹkẹle nigba fifi sori Selenium ati ni pataki Appium;
  • awọn iṣoro ibamu laarin awọn ẹya ti awọn aṣawakiri, awọn simulators ati awakọ;
  • aini aaye ti o ya sọtọ fun awọn aṣawakiri / awọn simulators, eyiti o ṣe pataki ni pataki fun ṣiṣe ni afiwe;
  • soro lati ṣakoso ati ṣetọju ti o ba nilo lati ṣiṣẹ 10, 50, 100 tabi paapaa awọn aṣawakiri 1000 ni akoko kanna.

Ṣugbọn niwọn igba ti Selenium jẹ ohun elo adaṣe adaṣe olokiki julọ ati Docker jẹ ohun elo apoti ti o gbajumọ julọ, ko yẹ ki o jẹ iyalẹnu pe ẹnikan ti gbiyanju lati darapọ wọn lati ṣẹda ohun elo ti o lagbara lati yanju awọn iṣoro ti a mẹnuba loke. Jẹ ki a ro iru awọn solusan ni awọn alaye diẹ sii. 

Selenium akoj ni docker

Ọpa yii jẹ olokiki julọ ni agbaye Selenium fun ṣiṣe awọn aṣawakiri pupọ lori awọn ẹrọ pupọ ati ṣiṣakoso wọn lati ibudo aarin. Lati bẹrẹ, o nilo lati forukọsilẹ o kere ju awọn ẹya meji: Hub ati Node(awọn). Ibudo jẹ apa aarin ti o gba gbogbo awọn ibeere lati awọn idanwo ti o pin kaakiri si Awọn apa ti o yẹ. Fun Node kọọkan a le tunto iṣeto kan pato, fun apẹẹrẹ, nipa sisọ ẹrọ aṣawakiri ti o fẹ ati ẹya rẹ. Sibẹsibẹ, a tun nilo lati ṣe abojuto awọn awakọ aṣawakiri ibaramu funrara wa ki o fi wọn sori Awọn Nodes ti o fẹ. Fun idi eyi, Selenium grid ko lo ni fọọmu mimọ rẹ, ayafi nigba ti a nilo lati ṣiṣẹ pẹlu awọn aṣawakiri ti ko le fi sori ẹrọ lori Linux OS. Fun gbogbo awọn ọran miiran, iyipada pataki ati ojutu ti o tọ yoo jẹ lati lo awọn aworan Docker lati ṣiṣẹ Selenium grid Hub ati Awọn apa. Ọna yii jẹ irọrun iṣakoso oju ipade, nitori a le yan aworan ti a nilo pẹlu awọn ẹya ibaramu ti awọn aṣawakiri ati awakọ ti fi sii tẹlẹ.

Pelu awọn atunyẹwo odi nipa iduroṣinṣin, paapaa nigbati o nṣiṣẹ nọmba nla ti Nodes ni afiwe, Selenium grid tun jẹ ohun elo olokiki julọ fun ṣiṣe awọn idanwo Selenium ni afiwe. O ṣe pataki lati ṣe akiyesi pe ọpọlọpọ awọn ilọsiwaju ati awọn iyipada ti ọpa yii n han nigbagbogbo ni orisun-ìmọ, eyiti o dojuko ọpọlọpọ awọn igo.

Selenoid fun Ayelujara

Ọpa yii jẹ aṣeyọri ni agbaye ti Selenium bi o ti n ṣiṣẹ taara ninu apoti ati pe o ti jẹ ki igbesi aye ọpọlọpọ awọn onimọ-ẹrọ adaṣe rọrun pupọ. Ni akọkọ, eyi kii ṣe iyipada miiran ti akoj Selenium. Dipo, awọn olupilẹṣẹ ṣẹda ẹya tuntun ti Selenium Hub ni Golang, eyiti, ni idapo pẹlu awọn aworan Docker iwuwo fẹẹrẹ fun ọpọlọpọ awọn aṣawakiri, funni ni iwuri si idagbasoke adaṣe adaṣe. Pẹlupẹlu, ninu ọran ti Selenium Grid, a gbọdọ pinnu gbogbo awọn aṣawakiri ti a beere ati awọn ẹya wọn ni ilosiwaju, eyiti kii ṣe iṣoro nigbati o n ṣiṣẹ pẹlu ẹrọ aṣawakiri kan nikan. Ṣugbọn nigbati o ba de si awọn aṣawakiri atilẹyin ọpọ, Selenoid ni ojutu nọmba kan o ṣeun si ẹya 'alawakiri lori ibeere' rẹ. Gbogbo ohun ti o nilo fun wa ni lati ṣe igbasilẹ awọn aworan pataki pẹlu awọn aṣawakiri ni ilosiwaju ati ṣe imudojuiwọn faili iṣeto ni eyiti Selenoid ṣe ajọṣepọ. Lẹhin Selenoid gba ibeere kan lati awọn idanwo naa, yoo ṣe ifilọlẹ eiyan ti o fẹ laifọwọyi pẹlu ẹrọ aṣawakiri ti o fẹ. Nigbati idanwo naa ba pari, Selenoid yoo yọkuro eiyan naa, nitorinaa o ṣe idasilẹ awọn orisun fun awọn ibeere iwaju. Ọna yii ṣe imukuro patapata iṣoro ti a mọ daradara ti 'ipalara node' ti a nigbagbogbo ba pade ni grid Selenium.

Ṣugbọn, ala, Selenoid kii ṣe ọta ibọn fadaka. A ni ẹya 'oluwakiri lori ibeere', ṣugbọn ẹya 'awọn orisun lori ibeere' ko si si. Lati lo Selenoid, a gbọdọ fi sori ẹrọ lori ohun elo ti ara tabi lori VM kan, eyiti o tumọ si pe a gbọdọ mọ tẹlẹ bi ọpọlọpọ awọn orisun nilo lati pin. Mo gboju pe eyi kii ṣe iṣoro fun awọn iṣẹ akanṣe kekere ti o nṣiṣẹ 10, 20 tabi paapaa awọn aṣawakiri 30 ni afiwe. Ṣugbọn kini ti a ba nilo 100, 500, 1000 tabi diẹ sii? Ko ṣe oye lati ṣetọju ati sanwo fun ọpọlọpọ awọn orisun ni gbogbo igba. Ni awọn apakan 5 ati 6 ti nkan yii, a yoo jiroro awọn solusan ti o gba ọ laaye lati ṣe iwọn, nitorinaa idinku awọn idiyele ile-iṣẹ ni pataki.

Selenoid fun Android

Lẹhin aṣeyọri ti Selenoid bi ohun elo adaṣe wẹẹbu, eniyan fẹ nkan ti o jọra fun Android. Ati pe o ṣẹlẹ - Selenoid ti tu silẹ pẹlu atilẹyin Android. Lati oju wiwo olumulo ipele giga, ilana ti iṣiṣẹ jẹ iru si adaṣe wẹẹbu. Iyatọ kan ṣoṣo ni pe dipo awọn apoti aṣawakiri, Selenoid nṣiṣẹ awọn apoti emulator Android. Ni ero mi, eyi jẹ irinṣẹ ọfẹ ti o lagbara julọ fun ṣiṣe awọn idanwo Android ni afiwe.

Emi kii yoo fẹ gaan lati sọrọ nipa awọn abala odi ti ọpa yii, nitori Mo fẹran gaan gaan. Ṣugbọn sibẹ, awọn aila-nfani kanna wa ti o kan si adaṣe wẹẹbu ati pe o ni nkan ṣe pẹlu iwọn. Ni afikun si eyi, a nilo lati sọrọ nipa aropin diẹ sii ti o le jẹ iyalẹnu ti a ba ṣeto ọpa fun igba akọkọ. Lati mu awọn aworan Android ṣiṣẹ, a nilo ẹrọ ti ara tabi VM pẹlu atilẹyin agbara itẹ-ẹiyẹ. Ninu bi o ṣe le ṣe itọsọna, Mo ṣafihan bi o ṣe le mu eyi ṣiṣẹ lori VM Linux kan. Sibẹsibẹ, ti o ba jẹ olumulo macOS ati pe o fẹ lati mu Selenoid ṣiṣẹ ni agbegbe, lẹhinna eyi kii yoo ṣee ṣe lati ṣiṣe awọn idanwo Android. Ṣugbọn o le nigbagbogbo ṣiṣẹ Linux VM ni agbegbe pẹlu 'iṣeto fifẹ' ti a tunto ati mu Selenoid lọ si inu.

Apejuwe ti isiyi ipo ti amayederun

Ninu ọrọ ti nkan yii, a yoo ṣafikun awọn irinṣẹ 2 lati ṣe afihan awọn amayederun. Iwọnyi jẹ akoj Selenium fun awọn idanwo wẹẹbu ati Selenoid fun awọn idanwo Android. Ninu ikẹkọ GitHub, Emi yoo tun fihan ọ bi o ṣe le lo Selenoid lati ṣiṣe awọn idanwo wẹẹbu. 

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Iru irinṣẹ

  • Awọn irinṣẹ ifipamọ miiran wa, ṣugbọn Docker jẹ olokiki julọ. Ti o ba fẹ gbiyanju nkan miiran, ranti pe awọn irinṣẹ ti a ti bo fun ṣiṣe awọn idanwo Selenium ni afiwe kii yoo ṣiṣẹ jade ninu apoti.  
  • Gẹgẹbi a ti sọ tẹlẹ, ọpọlọpọ awọn iyipada ti akoj Selenium, fun apẹẹrẹ, Zalenium.

4.CI/CD

Apejuwe kukuru ti imọ-ẹrọ

Iwa ti iṣọpọ igbagbogbo jẹ olokiki pupọ ni idagbasoke ati pe o wa ni deede pẹlu awọn eto iṣakoso ẹya. Bi o ti jẹ pe eyi, Mo lero pe idarudapọ wa ninu awọn ọrọ-ọrọ. Ni paragi yii Emi yoo fẹ lati ṣe apejuwe awọn iyipada 3 ti imọ-ẹrọ yii lati oju-ọna mi. Lori intanẹẹti iwọ yoo rii ọpọlọpọ awọn nkan pẹlu awọn itumọ oriṣiriṣi, ati pe o jẹ deede deede ti ero rẹ ba yatọ. Ohun pataki julọ ni pe o wa ni oju-iwe kanna pẹlu awọn ẹlẹgbẹ rẹ.

Nitorinaa, awọn ofin 3 wa: CI - Integration Tesiwaju, CD - Ifijiṣẹ Ilọsiwaju ati lẹẹkansi CD - Ilọsiwaju Ilọsiwaju. (Ni isalẹ Emi yoo lo awọn ofin wọnyi ni Gẹẹsi). Iyipada kọọkan n ṣafikun ọpọlọpọ awọn igbesẹ afikun si opo gigun ti idagbasoke rẹ. Ṣugbọn ọrọ naa lemọlemọfún (tesiwaju) jẹ ohun pataki julọ. Ni aaye yii, a tumọ si nkan ti o ṣẹlẹ lati ibẹrẹ si ipari, laisi idalọwọduro tabi idasi afọwọṣe. Jẹ ki a wo CI & CD ati CD ni aaye yii.

  • Itẹsiwaju Integration eyi ni ipele ibẹrẹ ti itankalẹ. Lẹhin fifi koodu titun silẹ si olupin naa, a nireti lati gba esi ni iyara pe awọn ayipada wa dara. Ni deede, CI pẹlu ṣiṣiṣẹ awọn irinṣẹ itupalẹ koodu aimi ati ẹyọkan/awọn idanwo API inu. Eyi n gba wa laaye lati gba alaye nipa koodu wa laarin iṣẹju-aaya/iṣẹju diẹ.
  • Ilọsiwaju Ilọsiwaju ni a diẹ to ti ni ilọsiwaju igbese ibi ti a ṣiṣe Integration / UI igbeyewo. Sibẹsibẹ, ni ipele yii a ko gba awọn abajade ni yarayara bi pẹlu CI. Ni akọkọ, iru awọn idanwo wọnyi gba to gun lati pari. Ni ẹẹkeji, ṣaaju ifilọlẹ, a gbọdọ mu awọn ayipada wa si agbegbe idanwo / iṣeto. Pẹlupẹlu, ti a ba n sọrọ nipa idagbasoke alagbeka, lẹhinna igbesẹ afikun yoo han lati ṣẹda kikọ ohun elo wa.
  • Imuṣiṣẹ Ilọsiwaju dawọle pe a ṣe idasilẹ awọn ayipada wa laifọwọyi si iṣelọpọ ti gbogbo awọn idanwo gbigba ba ti kọja ni awọn ipele iṣaaju. Ni afikun si eyi, lẹhin ipele itusilẹ, o le tunto ọpọlọpọ awọn ipele, gẹgẹbi ṣiṣe awọn idanwo ẹfin lori iṣelọpọ ati gbigba awọn metiriki ti iwulo. Ilọsiwaju Ilọsiwaju ṣee ṣe nikan pẹlu agbegbe to dara nipasẹ awọn idanwo adaṣe. Ti o ba nilo awọn ilowosi afọwọṣe eyikeyi, pẹlu idanwo, lẹhinna eyi ko si mọ lemọlemọfún (tesiwaju). Lẹhinna a le sọ pe opo gigun ti epo wa ni ibamu pẹlu iṣe ti Ifijiṣẹ Ilọsiwaju.

Iye fun adaṣiṣẹ amayederun

Ni abala yii, Mo yẹ ki o ṣalaye pe nigba ti a ba sọrọ nipa awọn idanwo UI opin-si-opin, o tumọ si pe a yẹ ki a gbe awọn ayipada wa ati awọn iṣẹ to somọ lati ṣe idanwo awọn agbegbe. Ijọpọ Ilọsiwaju - ilana naa ko wulo fun iṣẹ-ṣiṣe yii ati pe a gbọdọ ṣe abojuto imuse o kere ju awọn iṣe Ifijiṣẹ Ilọsiwaju. Ilọsiwaju Ilọsiwaju tun jẹ oye ni ipo ti awọn idanwo UI ti a ba nlo lati ṣiṣe wọn ni iṣelọpọ.

Ati pe ṣaaju ki a to wo apejuwe ti iyipada faaji, Mo fẹ sọ awọn ọrọ diẹ nipa GitLab CI. Ko dabi awọn irinṣẹ CI/CD miiran, GitLab n pese ibi ipamọ latọna jijin ati ọpọlọpọ awọn ẹya afikun miiran. Nitorinaa, GitLab jẹ diẹ sii ju CI. O pẹlu iṣakoso koodu orisun, iṣakoso Agile, awọn opo gigun ti CI / CD, awọn irinṣẹ gedu ati ikojọpọ awọn metiriki jade kuro ninu apoti. Itumọ GitLab ni Gitlab CI/CD ati GitLab Runner. Eyi ni apejuwe kukuru lati oju opo wẹẹbu osise:

Gitlab CI/CD jẹ ohun elo wẹẹbu kan pẹlu API ti o tọju ipo rẹ sinu ibi ipamọ data, ṣakoso awọn iṣẹ akanṣe / kọ ati pese wiwo olumulo kan. GitLab Runner jẹ ohun elo kan ti o kọ awọn ilana. O le ṣe ransogun lọtọ ati ṣiṣẹ pẹlu GitLab CI/CD nipasẹ API kan. Fun awọn idanwo ti nṣiṣẹ o nilo mejeeji apẹẹrẹ Gitlab ati Runner.

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Iru irinṣẹ

5. Awọn iru ẹrọ awọsanma

Apejuwe kukuru ti imọ-ẹrọ

Ni apakan yii a yoo sọrọ nipa aṣa ti o gbajumọ ti a pe ni 'awọn awọsanma gbangba'. Laibikita awọn anfani nla ti agbara agbara ati awọn imọ-ẹrọ iṣipopada ti a ṣalaye loke pese, a tun nilo awọn orisun iširo. Awọn ile-iṣẹ ra awọn olupin ti o gbowolori tabi awọn ile-iṣẹ data iyalo, ṣugbọn ninu ọran yii o jẹ dandan lati ṣe awọn iṣiro (nigbakugba aiṣedeede) ti iye awọn orisun ti a yoo nilo, boya a yoo lo wọn 24/7 ati fun awọn idi wo. Fun apẹẹrẹ, iṣelọpọ nilo olupin ti n ṣiṣẹ XNUMX/XNUMX, ṣugbọn ṣe a nilo awọn orisun kanna fun idanwo ni ita awọn wakati iṣẹ? O tun da lori iru idanwo ti a ṣe. Apeere kan yoo jẹ awọn idanwo fifuye / wahala ti a gbero lati ṣiṣẹ lakoko awọn wakati ti kii ṣiṣẹ lati le gba awọn abajade ni ọjọ keji. Ṣugbọn ni pato wiwa olupin XNUMX/XNUMX ko nilo fun awọn idanwo adaṣe opin-si-opin ati ni pataki kii ṣe fun awọn agbegbe idanwo afọwọṣe. Fun iru awọn ipo bẹẹ, yoo dara lati gba ọpọlọpọ awọn ohun elo bi o ṣe nilo lori ibeere, lo wọn, ati dawọ sisanwo nigbati wọn ko nilo wọn mọ. Pẹlupẹlu, yoo jẹ nla lati gba wọn lesekese nipa ṣiṣe awọn jinna asin diẹ tabi ṣiṣe awọn iwe afọwọkọ meji kan. Eleyi jẹ ohun ti gbangba awọsanma ti wa ni lilo fun. Jẹ ki a wo itumọ naa:

“Awọsanma gbangba jẹ asọye bi awọn iṣẹ iširo ti a funni nipasẹ awọn olupese ẹnikẹta lori Intanẹẹti ti gbogbo eniyan, ṣiṣe wọn wa fun ẹnikẹni ti o fẹ lati lo tabi ra wọn. Wọn le jẹ ọfẹ tabi ta lori ibeere, gbigba awọn alabara laaye lati sanwo nikan fun lilo fun awọn iyipo Sipiyu, ibi ipamọ, tabi bandiwidi ti wọn jẹ. ”

Nibẹ jẹ ẹya ero ti gbangba awọsanma ni o wa gbowolori. Ṣugbọn ero pataki wọn ni lati dinku awọn idiyele ile-iṣẹ. Gẹgẹbi a ti sọ tẹlẹ, awọn awọsanma gbangba gba ọ laaye lati gba awọn orisun lori ibeere ati sanwo nikan fun akoko ti o lo wọn. Paapaa, nigbakan a gbagbe pe awọn oṣiṣẹ gba owo osu, ati awọn alamọja tun jẹ orisun ti o gbowolori. O gbọdọ ṣe akiyesi pe awọn awọsanma ti gbogbo eniyan jẹ ki atilẹyin amayederun rọrun pupọ, eyiti o fun laaye awọn onimọ-ẹrọ lati dojukọ awọn iṣẹ ṣiṣe pataki diẹ sii. 

Iye fun adaṣiṣẹ amayederun

Awọn orisun kan pato wo ni a nilo fun awọn idanwo UI ipari-si-opin? Ni ipilẹ iwọnyi jẹ awọn ẹrọ foju tabi awọn iṣupọ (a yoo sọrọ nipa Kubernetes ni apakan atẹle) fun ṣiṣe awọn aṣawakiri ati awọn emulators. Awọn aṣawakiri diẹ sii ati awọn emulators ti a fẹ lati ṣiṣẹ ni nigbakannaa, diẹ sii Sipiyu ati iranti ti o nilo ati owo diẹ sii ti a ni lati sanwo fun. Nitorinaa, awọn awọsanma ti gbogbo eniyan ni ipo adaṣe adaṣe idanwo gba wa laaye lati ṣiṣẹ nọmba nla (100, 200, 1000…) ti awọn aṣawakiri / emulators lori ibeere, gba awọn abajade idanwo ni yarayara bi o ti ṣee ki o dẹkun isanwo fun iru awọn orisun aṣiwere-lekoko. agbara. 

Awọn olupese awọsanma olokiki julọ ni Awọn iṣẹ wẹẹbu Amazon (AWS), Microsoft Azure, Google Cloud Platform (GCP). Bi o ṣe le ṣe itọsọna n pese awọn apẹẹrẹ ti bii o ṣe le lo GCP, ṣugbọn ni gbogbogbo ko ṣe pataki ohun ti o lo fun awọn iṣẹ ṣiṣe adaṣe. Gbogbo wọn pese isunmọ iṣẹ ṣiṣe kanna. Ni deede, lati yan olupese kan, iṣakoso dojukọ gbogbo awọn amayederun ile-iṣẹ ati awọn ibeere iṣowo, eyiti o kọja ipari ti nkan yii. Fun awọn onimọ-ẹrọ adaṣe, yoo jẹ ohun ti o nifẹ si lati ṣe afiwe lilo awọn olupese awọsanma pẹlu lilo awọn iru ẹrọ awọsanma pataki fun awọn idi idanwo, gẹgẹ bi awọn Labs Sauce, BrowserStack, BitBar, ati bẹbẹ lọ. Nitorinaa jẹ ki a ṣe paapaa! Ni ero mi, Awọn Labs Sauce jẹ oko idanwo awọsanma olokiki julọ, eyiti o jẹ idi ti Mo lo fun lafiwe. 

GCP vs Sauce Labs fun awọn idi adaṣe:

Jẹ ki a fojuinu pe a nilo lati ṣiṣe awọn idanwo wẹẹbu 8 ati awọn idanwo Android 8 ni nigbakannaa. Fun eyi a yoo lo GCP ati ṣiṣe awọn ẹrọ foju 2 pẹlu Selenoid. Lori akọkọ ọkan a yoo gbe awọn apoti 8 soke pẹlu awọn aṣawakiri. Lori keji awọn apoti 8 wa pẹlu awọn emulators. Jẹ ki a wo awọn idiyele:  

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere
Lati ṣiṣẹ eiyan kan pẹlu Chrome, a nilo n1-boṣewa-1 ọkọ ayọkẹlẹ. Ninu ọran ti Android yoo jẹ n1-boṣewa-4 fun ọkan emulator. Ni otitọ, ọna irọrun diẹ sii ati din owo ni lati ṣeto awọn iye olumulo kan pato fun Sipiyu / Iranti, ṣugbọn ni akoko eyi ko ṣe pataki fun lafiwe pẹlu Awọn Labs Sauce.

Ati pe eyi ni awọn owo-ori fun lilo Awọn Labs Sauce:

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere
Mo gbagbọ pe o ti ṣe akiyesi iyatọ tẹlẹ, ṣugbọn Emi yoo tun pese tabili kan pẹlu awọn iṣiro fun iṣẹ-ṣiṣe wa:

Awọn ohun elo ti a beere
Oṣooṣu
Awọn wakati ṣiṣẹ(8 owurọ - 8 irọlẹ)
Awọn wakati ṣiṣẹ+ Ṣáájú

GCP fun Ayelujara
n1-boṣewa-1 x 8 = n1-boṣewa-8
$194.18
23 ọjọ * 12h * 0.38 = $ 104.88 
23 ọjọ * 12h * 0.08 = $ 22.08

Obe Labs fun Web
Awọn idanwo afiwera Cloud8 foju
$1.559
-
-

GCP fun Android
n1-boṣewa-4 x 8: n1-boṣewa-16
$776.72
23 ọjọ * 12h * 1.52 = $ 419.52 
23 ọjọ * 12h * 0.32 = $ 88.32

Obe Labs fun Android
Real Device Cloud 8 ni afiwe igbeyewo
$1.999
-
-

Bii o ti le rii, iyatọ ninu idiyele jẹ nla, ni pataki ti o ba ṣiṣẹ awọn idanwo nikan lakoko akoko iṣẹ wakati mejila. Ṣugbọn o le ge awọn idiyele paapaa siwaju ti o ba lo awọn ẹrọ iṣaaju. Kini o jẹ?

VM preemptible jẹ apẹẹrẹ ti o le ṣẹda ati ṣiṣe ni idiyele pupọ ju awọn iṣẹlẹ deede lọ. Bibẹẹkọ, Ẹrọ Iṣiro le fopin si (tẹlẹ) awọn iṣẹlẹ wọnyi ti o ba nilo iraye si awọn orisun wọnyẹn fun awọn iṣẹ ṣiṣe miiran. Awọn apẹẹrẹ ti a ti ṣaju tẹlẹ jẹ agbara Oniṣiro Oniṣiro, nitorinaa wiwa wọn yatọ pẹlu lilo.

Ti awọn ohun elo rẹ ba jẹ ifarada-ẹbi ati pe o le koju awọn iṣaju apẹẹrẹ ti o ṣeeṣe, lẹhinna awọn iṣẹlẹ iṣaaju le dinku awọn idiyele Ẹrọ Iṣiro rẹ ni pataki. Fun apẹẹrẹ, awọn iṣẹ sisẹ ipele le ṣiṣẹ lori awọn iṣẹlẹ ti a ti ṣajọ tẹlẹ. Ti diẹ ninu awọn iṣẹlẹ wọnyẹn ba fopin si lakoko sisẹ, iṣẹ naa fa fifalẹ ṣugbọn ko da duro patapata. Awọn apẹẹrẹ ti o ṣaju tẹlẹ pari awọn iṣẹ ṣiṣe ṣiṣe ipele rẹ laisi gbigbe afikun iṣẹ ṣiṣe lori awọn iṣẹlẹ ti o wa tẹlẹ ati laisi nilo ki o san idiyele ni kikun fun awọn apẹẹrẹ deede deede.

Ati awọn ti o ni ṣi ko lori! Ni otitọ, Mo ni idaniloju pe ko si ẹnikan ti o nṣiṣẹ awọn idanwo fun wakati 12 laisi isinmi. Ati pe ti o ba rii bẹ, lẹhinna o le bẹrẹ laifọwọyi ati da awọn ẹrọ foju duro nigbati wọn ko nilo. Akoko lilo gangan le dinku si awọn wakati 6 fun ọjọ kan. Lẹhinna sisanwo ni ipo ti iṣẹ-ṣiṣe wa yoo dinku si $ 11 fun oṣu kan fun awọn aṣawakiri 8. Eyi ko ha jẹ ohun iyanu? Ṣugbọn pẹlu awọn ẹrọ iṣaaju a gbọdọ ṣọra ati murasilẹ fun awọn idilọwọ ati aisedeede, botilẹjẹpe awọn ipo wọnyi le pese fun ati mu ni sọfitiwia. O tọ si!

Ṣugbọn ni ọna kii ṣe Mo n sọ pe 'maṣe lo awọn oko idanwo awọsanma'. Wọn ni nọmba awọn anfani. Ni akọkọ, eyi kii ṣe ẹrọ foju kan, ṣugbọn ojutu adaṣe adaṣe ni kikun pẹlu eto iṣẹ ṣiṣe lati inu apoti: iwọle latọna jijin, awọn akọọlẹ, awọn sikirinisoti, gbigbasilẹ fidio, awọn aṣawakiri pupọ ati awọn ẹrọ alagbeka ti ara. Ni ọpọlọpọ awọn ipo, eyi le jẹ yiyan yara to ṣe pataki. Awọn iru ẹrọ idanwo jẹ iwulo paapaa fun adaṣe IOS, nigbati awọn awọsanma gbangba le funni ni awọn eto Linux/Windows nikan. Ṣugbọn a yoo sọrọ nipa iOS ninu awọn nkan wọnyi. Mo ṣeduro nigbagbogbo wiwo ipo naa ati bẹrẹ lati awọn iṣẹ-ṣiṣe: ni awọn igba miiran o jẹ din owo ati daradara siwaju sii lati lo awọn awọsanma gbangba, ati ninu awọn miiran awọn iru ẹrọ idanwo ni pato tọ owo ti o lo.

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Awọn irinṣẹ to jọra:

6. Orchestration

Apejuwe kukuru ti imọ-ẹrọ

Mo ni iroyin ti o dara - a ti fẹrẹ to opin nkan naa! Ni akoko yii, awọn amayederun adaṣe wa ni oju opo wẹẹbu ati awọn idanwo Android, eyiti a ṣiṣẹ nipasẹ GitLab CI ni afiwe, ni lilo awọn irinṣẹ ṣiṣẹ Docker: grid Selenium ati Selenoid. Pẹlupẹlu, a lo awọn ẹrọ foju ti a ṣẹda nipasẹ GCP lati gbalejo awọn apoti pẹlu awọn aṣawakiri ati awọn emulators. Lati dinku awọn idiyele, a bẹrẹ awọn ẹrọ foju wọnyi nikan lori ibeere ati da wọn duro nigbati idanwo ko ṣe. Njẹ nkan miiran wa ti o le mu awọn amayederun wa dara si? Idahun si jẹ bẹẹni! Pade Kubernetes (K8s)!

Ni akọkọ, jẹ ki a wo bii awọn ọrọ orchestration, iṣupọ, ati Kubernetes ṣe ni ibatan si ara wọn. Ni ipele giga, orchestration jẹ eto ti o nfi ati ṣakoso awọn ohun elo. Fun adaṣe adaṣe, iru awọn ohun elo ti a fi sinu apo jẹ Selenium grid ati Selenoid. Docker ati K8s ṣe iranlowo fun ara wọn. A lo akọkọ fun imuṣiṣẹ ohun elo, ekeji fun orchestration. Ni ọna, K8s jẹ iṣupọ kan. Iṣẹ-ṣiṣe ti iṣupọ ni lati lo awọn VM bi Nodes, eyiti o fun ọ laaye lati fi sori ẹrọ ọpọlọpọ awọn iṣẹ ṣiṣe, awọn eto ati awọn iṣẹ laarin olupin kan (iṣupọ). Ti eyikeyi awọn Nodes ba kuna, Awọn Nodes miiran yoo gbe soke, eyiti o ṣe idaniloju iṣẹ ṣiṣe ti ko ni idilọwọ ti ohun elo wa. Ni afikun si eyi, K8s ni iṣẹ ṣiṣe pataki ti o ni ibatan si wiwọn, o ṣeun si eyiti a gba laifọwọyi iye ti o dara julọ ti awọn orisun ti o da lori fifuye ati ṣeto awọn opin.

Ni otitọ, gbigbe Kubernetes pẹlu ọwọ lati ibere kii ṣe iṣẹ-ṣiṣe kekere rara. Emi yoo fi ọna asopọ kan silẹ si olokiki bi o ṣe le ṣe itọsọna “Kubernetes The Hard Way” ati ti o ba nifẹ, o le ṣe adaṣe rẹ. Ṣugbọn, da, awọn ọna miiran ati awọn irinṣẹ wa. Ọna to rọọrun ni lati lo Google Kubernetes Engine (GKE) ni GCP, eyiti yoo gba ọ laaye lati gba iṣupọ ti a ti ṣetan ni awọn jinna diẹ. Mo ṣeduro lilo ọna yii lati bẹrẹ ikẹkọ, nitori yoo gba ọ laaye lati dojukọ lori kikọ bi o ṣe le lo awọn K8 fun awọn iṣẹ ṣiṣe rẹ dipo kikọ ẹkọ bii awọn paati inu yẹ ki o wa papọ. 

Iye fun adaṣiṣẹ amayederun

Jẹ ki a wo awọn ẹya pataki diẹ ti awọn K8 pese:

  • imuṣiṣẹ ohun elo: lilo opo-opopona opo dipo VM;
  • ìmúdàgba igbelosoke: din iye owo ti oro ti o ti wa ni lilo nikan lori eletan;
  • iwosan ara ẹni: imularada laifọwọyi ti awọn pods (ni abajade eyi ti awọn apoti tun tun pada);
  • yiyọ awọn imudojuiwọn ati awọn iyipada ti awọn ayipada laisi akoko isinmi: awọn irinṣẹ imudojuiwọn, awọn aṣawakiri ati awọn emulators ko ṣe idiwọ iṣẹ ti awọn olumulo lọwọlọwọ

Ṣugbọn awọn K8 ko tun jẹ ọta ibọn fadaka. Lati loye gbogbo awọn anfani ati awọn idiwọn ni agbegbe ti awọn irinṣẹ ti a nṣe ayẹwo (Selenium grid, Selenoid), a yoo jiroro ni ṣoki nipa eto ti K8s. Iṣupọ ni awọn oriṣi meji ti Awọn apa: Awọn apa Titunto ati Awọn apa Osise. Awọn Nodes Titunto jẹ iduro fun iṣakoso, imuṣiṣẹ ati awọn ipinnu ṣiṣe eto. Awọn apa osise wa nibiti awọn ohun elo ti ṣiṣẹ. Awọn apa tun ni agbegbe asiko asiko eiyan ninu. Ninu ọran wa, eyi ni Docker, eyiti o jẹ iduro fun awọn iṣẹ ti o jọmọ eiyan. Ṣugbọn awọn ọna abayọ tun wa, fun apẹẹrẹ apoti. O ṣe pataki lati ni oye pe wiwọn tabi iwosan ara ẹni ko kan taara si awọn apoti. Eyi ni imuse nipasẹ fifi / dinku nọmba awọn adarọ-ese, eyiti o ni awọn apoti (nigbagbogbo apoti kan fun podu, ṣugbọn da lori iṣẹ-ṣiṣe o le jẹ diẹ sii). Awọn ipo giga-giga ni awọn apa oṣiṣẹ, inu eyiti awọn adarọ-ese wa, inu eyiti awọn apoti ti gbe soke.

Ẹya igbelowọn jẹ bọtini ati pe o le lo si awọn apa mejeji laarin adagun-ipo iṣupọ ati awọn adarọ-ese laarin ipade kan. Awọn oriṣi iwọn meji lo wa ti o kan si awọn apa mejeeji ati awọn adarọ-ese. Iru akọkọ jẹ petele - igbelowọn waye nipasẹ jijẹ nọmba awọn apa/pods. Iru yi jẹ diẹ preferable. Iru keji jẹ, ni ibamu, inaro. A ṣe iwọn wiwọn nipasẹ jijẹ iwọn awọn apa/pods, kii ṣe nọmba wọn.

Bayi jẹ ki a wo awọn irinṣẹ wa ni aaye ti awọn ofin ti o wa loke.

Selenium akoj

Gẹgẹbi a ti sọ tẹlẹ, akoj Selenium jẹ irinṣẹ olokiki pupọ, ati pe kii ṣe iyalẹnu pe o ti wa ninu apoti. Nitorinaa, ko ṣe iyalẹnu pe akoj Selenium le wa ni ran lọ si awọn K8s. Apeere ti bii o ṣe le ṣe eyi ni a le rii ni ibi ipamọ K8s osise. Gẹgẹbi igbagbogbo, Mo so awọn ọna asopọ ni opin apakan naa. Ni afikun, bi o ṣe le ṣe itọsọna fihan bi o ṣe le ṣe eyi ni Terraform. Awọn ilana tun wa lori bi o ṣe le ṣe iwọn nọmba awọn adarọ-ese ti o ni awọn apoti aṣawakiri ninu. Ṣugbọn iṣẹ irẹjẹ aifọwọyi ni aaye ti K8s kii ṣe iṣẹ-ṣiṣe ti o han gbangba patapata. Nigbati mo bẹrẹ ikẹkọ, Emi ko rii eyikeyi itọnisọna to wulo tabi awọn iṣeduro. Lẹhin awọn iwadii pupọ ati awọn adanwo pẹlu atilẹyin ti ẹgbẹ DevOps, a yan ọna ti igbega awọn apoti pẹlu awọn aṣawakiri to ṣe pataki inu adarọ ese kan, eyiti o wa ni inu ipade oṣiṣẹ kan. Ọna yii gba wa laaye lati lo ilana ti igbelowọn petele ti awọn apa nipasẹ jijẹ nọmba wọn. Mo nireti pe eyi yoo yipada ni ọjọ iwaju ati pe a yoo rii awọn apejuwe diẹ sii ati siwaju sii ti awọn isunmọ ti o dara julọ ati awọn solusan ti a ti ṣetan, paapaa lẹhin itusilẹ ti Selenium grid 4 pẹlu iṣiparọ inu ti o yipada.

Selenoid:

Ifilọlẹ Selenoid ni K8s lọwọlọwọ jẹ ibanujẹ nla julọ. Wọn ko ni ibamu. Ni imọran, a le gbe eiyan Selenoid kan sinu adarọ-ese kan, ṣugbọn nigbati Selenoid bẹrẹ ifilọlẹ awọn apoti pẹlu awọn aṣawakiri, wọn yoo tun wa ninu podu kanna. Eyi jẹ ki iwọnwọn ko ṣee ṣe ati, bi abajade, iṣẹ Selenoid inu iṣupọ kan kii yoo yato si iṣẹ inu ẹrọ foju kan. Ipari itan.

Moon:

Mọ igo yii nigbati o n ṣiṣẹ pẹlu Selenoid, awọn olupilẹṣẹ ṣe idasilẹ ọpa ti o lagbara diẹ sii ti a pe ni Oṣupa. Ọpa yii jẹ apẹrẹ ni akọkọ lati ṣiṣẹ pẹlu Kubernetes ati, bi abajade, ẹya-ara autoscaling le ati pe o yẹ ki o lo. Pẹlupẹlu, Emi yoo sọ pe ni akoko ti o jẹ awọn nikan ọpa kan ni agbaye Selenium, eyiti o ni atilẹyin iṣupọ K8s abinibi kuro ninu apoti (ko si ohun to wa, ri tókàn ọpa ). Awọn ẹya pataki ti Oṣupa ti o pese atilẹyin yii ni: 

Aini ipinlẹ patapata. Awọn ile itaja Selenoid ni alaye iranti nipa awọn akoko aṣawakiri nṣiṣẹ lọwọlọwọ. Ti o ba jẹ fun idi kan ilana rẹ ṣubu - lẹhinna gbogbo awọn akoko ṣiṣe ti sọnu. Oṣupa ni ilodi si ko ni ipo inu ati pe o le ṣe atunṣe kọja awọn ile-iṣẹ data. Awọn akoko aṣawakiri wa laaye paapaa ti ọkan tabi diẹ ẹ sii awọn ẹda ba lọ silẹ.

Nitorinaa, Oṣupa jẹ ojutu nla, ṣugbọn iṣoro kan wa: kii ṣe ọfẹ. Iye owo da lori nọmba awọn akoko. O le ṣiṣe awọn akoko 0-4 nikan fun ọfẹ, eyiti ko wulo ni pataki. Ṣugbọn, bẹrẹ lati igba karun, iwọ yoo ni lati san $5 fun ọkọọkan. Ipo naa le yatọ lati ile-iṣẹ si ile-iṣẹ, ṣugbọn ninu ọran wa, lilo Oṣupa jẹ asan. Gẹgẹbi Mo ti ṣalaye loke, a le ṣiṣe awọn VM pẹlu Selenium Grid lori ibeere tabi mu nọmba awọn Nodes pọ si ninu iṣupọ. Fun isunmọ opo gigun ti epo kan, a ṣe ifilọlẹ awọn aṣawakiri 500 ati da gbogbo awọn orisun duro lẹhin ti awọn idanwo ti pari. Ti a ba lo Oṣupa, a yoo ni lati san afikun 500 x 5 = $2500 fun oṣu kan, laibikita iye igba ti a ṣe awọn idanwo. Lẹẹkansi, Emi ko sọ pe maṣe lo Oṣupa. Fun awọn iṣẹ ṣiṣe rẹ, eyi le jẹ ojutu ti ko ṣe pataki, fun apẹẹrẹ, ti o ba ni ọpọlọpọ awọn iṣẹ akanṣe / awọn ẹgbẹ ninu agbari rẹ ati pe o nilo iṣupọ nla ti o wọpọ fun gbogbo eniyan. Gẹgẹbi nigbagbogbo, Mo fi ọna asopọ silẹ ni ipari ati ṣeduro ṣiṣe gbogbo awọn iṣiro pataki ni ipo ti iṣẹ-ṣiṣe rẹ.

Oluko: (Ifarabalẹ! Eyi ko si ninu nkan atilẹba ati pe o wa ninu itumọ Russian nikan)

Gẹgẹbi Mo ti sọ, Selenium jẹ irinṣẹ olokiki pupọ, ati aaye IT n dagbasoke ni iyara pupọ. Nígbà tí mo ń ṣiṣẹ́ lórí ìtumọ̀ náà, irinṣẹ́ tuntun kan tí ń ṣèlérí tí wọ́n ń pè ní Callisto fara hàn lórí ìkànnì wa (hello Cypress àti àwọn apànìyàn Selenium mìíràn). O ṣiṣẹ ni abinibi pẹlu awọn K8s ati gba ọ laaye lati ṣiṣe awọn apoti Selenoid ni awọn adarọ-ese, ti a pin kaakiri awọn Nodes. Ohun gbogbo ṣiṣẹ ọtun jade ninu apoti, pẹlu autoscaling. Ikọja, ṣugbọn o nilo lati ni idanwo. Mo ti ṣakoso tẹlẹ lati mu ohun elo yii ṣiṣẹ ati ṣiṣe awọn idanwo pupọ. Ṣugbọn o ti wa ni kutukutu lati fa awọn ipinnu, lẹhin gbigba awọn esi lori ijinna pipẹ, boya Emi yoo ṣe atunyẹwo ni awọn nkan iwaju. Ni bayi Mo n lọ awọn ọna asopọ nikan fun iwadii ominira.  

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari

Iru irinṣẹ

7. Amayederun bi koodu (IaC)

Apejuwe kukuru ti imọ-ẹrọ

Ati nisisiyi a wa si apakan ti o kẹhin. Ni deede, imọ-ẹrọ yii ati awọn iṣẹ ṣiṣe ti o jọmọ kii ṣe ojuṣe ti awọn ẹlẹrọ adaṣe. Ati pe awọn idi wa fun eyi. Ni akọkọ, ni ọpọlọpọ awọn ajo, awọn ọran amayederun wa labẹ iṣakoso ti ẹka DevOps ati awọn ẹgbẹ idagbasoke ko bikita nipa ohun ti o jẹ ki opo gigun ti epo ṣiṣẹ ati bii ohun gbogbo ti o sopọ pẹlu rẹ nilo lati ni atilẹyin. Ni ẹẹkeji, jẹ ki a jẹ ooto, iṣe ti Awọn amayederun bi koodu (IaC) ko tun gba ni ọpọlọpọ awọn ile-iṣẹ. Ṣugbọn dajudaju o ti di aṣa olokiki ati pe o ṣe pataki lati gbiyanju lati ni ipa ninu awọn ilana, awọn isunmọ ati awọn irinṣẹ ti o ni nkan ṣe pẹlu rẹ. Tabi o kere ju duro titi di oni.

Jẹ ká bẹrẹ pẹlu awọn iwuri fun lilo yi ona. A ti jiroro tẹlẹ pe lati ṣiṣe awọn idanwo ni GitlabCI, a yoo nilo ni o kere ju awọn orisun lati ṣiṣe Gitlab Runner. Ati lati ṣiṣe awọn apoti pẹlu awọn aṣawakiri / emulators, a nilo lati ṣura VM tabi iṣupọ kan. Ni afikun si awọn ohun elo idanwo, a nilo iye pataki ti agbara lati ṣe atilẹyin idagbasoke, iṣeto, awọn agbegbe iṣelọpọ, eyiti o tun pẹlu awọn apoti isura data, awọn iṣeto adaṣe, awọn atunto nẹtiwọọki, awọn iwọntunwọnsi fifuye, awọn ẹtọ olumulo, ati bẹbẹ lọ. Ọrọ pataki ni igbiyanju ti o nilo lati ṣe atilẹyin fun gbogbo rẹ. Awọn ọna pupọ lo wa ti a le ṣe awọn ayipada ati yi awọn imudojuiwọn jade. Fun apẹẹrẹ, ni aaye ti GCP, a le lo console UI ninu ẹrọ aṣawakiri ati ṣe gbogbo awọn iṣe nipa titẹ awọn bọtini. Omiiran yoo jẹ lati lo awọn ipe API lati ṣe ajọṣepọ pẹlu awọn nkan awọsanma, tabi lo laini aṣẹ gcloud lati ṣe awọn ifọwọyi ti o fẹ. Ṣugbọn pẹlu nọmba ti o tobi pupọ ti awọn nkan oriṣiriṣi ati awọn eroja amayederun, o nira tabi paapaa ko ṣee ṣe lati ṣe gbogbo awọn iṣẹ pẹlu ọwọ. Pẹlupẹlu, gbogbo awọn iṣe afọwọṣe wọnyi ko ni iṣakoso. A ko le fi wọn silẹ fun atunyẹwo ṣaaju ipaniyan, lo eto iṣakoso ẹya, ki o yara yi awọn ayipada ti o yori si isẹlẹ naa pada. Lati yanju iru awọn iṣoro bẹ, awọn onimọ-ẹrọ ṣẹda ati ṣẹda awọn iwe afọwọkọ bash / ikarahun laifọwọyi, eyiti ko dara julọ ju awọn ọna iṣaaju lọ, nitori wọn ko rọrun lati ka ni iyara, oye, ṣetọju ati yipada ni aṣa ilana.

Ninu nkan yii ati bii-lati ṣe itọsọna, Mo lo awọn irinṣẹ 2 ti o ni ibatan si adaṣe IaC. Iwọnyi jẹ Terraform ati Ansible. Diẹ ninu awọn eniyan gbagbọ pe ko ṣe oye lati lo wọn ni akoko kanna, nitori pe iṣẹ ṣiṣe wọn jọra ati pe wọn jẹ paarọ. Ṣugbọn otitọ ni pe ni ibẹrẹ wọn fun wọn ni awọn iṣẹ ṣiṣe ti o yatọ patapata. Ati pe otitọ pe awọn irinṣẹ wọnyi yẹ ki o ṣe iranlowo fun ara wọn ni a timo ni igbejade apapọ nipasẹ awọn olupilẹṣẹ ti o nsoju HashiCorp ati RedHat. Iyatọ imọran ni pe Terraform jẹ ohun elo ipese fun iṣakoso awọn olupin funrararẹ. Lakoko ti Ansible jẹ irinṣẹ iṣakoso iṣeto ni iṣẹ rẹ ni lati fi sori ẹrọ, tunto ati ṣakoso sọfitiwia lori awọn olupin wọnyi.

Ẹya iyatọ bọtini miiran ti awọn irinṣẹ wọnyi jẹ ara ifaminsi. Ko dabi bash ati Ansible, Terraform nlo ara asọye ti o da lori apejuwe ti ipo ipari ti o fẹ lati ṣe aṣeyọri bi abajade ti ipaniyan. Fun apẹẹrẹ, ti a ba yoo ṣẹda 10 VMs ati lo awọn ayipada nipasẹ Terraform, lẹhinna a yoo gba 10 VM. Ti a ba tun ṣiṣẹ iwe afọwọkọ naa, ko si ohun ti yoo ṣẹlẹ nitori a ti ni awọn VM 10 tẹlẹ, ati Terraform mọ nipa eyi nitori pe o tọju ipo lọwọlọwọ ti awọn amayederun ni faili ipinlẹ kan. Ṣugbọn Ansible nlo ọna ilana ati, ti o ba beere lọwọ rẹ lati ṣẹda 10 VMs, lẹhinna lori ifilọlẹ akọkọ a yoo gba 10 VMs, iru si Terraform. Ṣugbọn lẹhin ti o tun bẹrẹ a yoo ti ni 20 VM tẹlẹ. Eyi ni iyatọ pataki. Ni aṣa ilana, a ko tọju ipo lọwọlọwọ ati nirọrun ṣapejuwe lẹsẹsẹ awọn igbesẹ ti o gbọdọ ṣe. Nitoribẹẹ, a le mu awọn ipo lọpọlọpọ, ṣafikun ọpọlọpọ awọn sọwedowo fun aye ti awọn orisun ati ipo lọwọlọwọ, ṣugbọn ko si aaye ni jafara akoko wa ati fifi ipa sinu iṣakoso ọgbọn yii. Ni afikun, eyi mu eewu ṣiṣe awọn aṣiṣe pọ si. 

Ni akopọ gbogbo awọn ti o wa loke, a le pinnu pe Terraform ati akiyesi asọye jẹ ohun elo ti o dara julọ fun ipese awọn olupin. Ṣugbọn o dara julọ lati ṣe aṣoju iṣẹ ti iṣakoso iṣeto ni Ansible. Pẹlu iyẹn ni ọna, jẹ ki a wo awọn ọran lilo ni aaye ti adaṣe.

Iye fun adaṣiṣẹ amayederun

Ohun pataki kan ṣoṣo lati loye nibi ni pe awọn amayederun adaṣe adaṣe yẹ ki o gbero bi apakan ti gbogbo awọn amayederun ile-iṣẹ. Eyi tumọ si pe gbogbo awọn iṣe IaC gbọdọ wa ni lilo ni agbaye si awọn orisun ti gbogbo agbari. Tani o ṣe iduro fun eyi da lori awọn ilana rẹ. Ẹgbẹ DevOps ni iriri diẹ sii ninu awọn ọran wọnyi, wọn rii gbogbo aworan ti ohun ti n ṣẹlẹ. Sibẹsibẹ, awọn onimọ-ẹrọ QA ni o ni ipa diẹ sii ninu ilana ti iṣelọpọ adaṣe ati ilana ti opo gigun ti epo, eyiti o fun wọn laaye lati rii dara julọ gbogbo awọn ayipada ti o nilo ati awọn aye fun ilọsiwaju. Aṣayan ti o dara julọ ni lati ṣiṣẹ pọ, paṣipaarọ imo ati awọn ero lati ṣe aṣeyọri esi ti a reti. 

Eyi ni awọn apẹẹrẹ diẹ ti lilo Terraform ati Ansible ni aaye ti adaṣe adaṣe ati awọn irinṣẹ ti a jiroro tẹlẹ:

1. Apejuwe awọn pataki abuda ati sile ti VMs ati awọn iṣupọ lilo Terraform.

2. Lilo Ansible, fi sori ẹrọ awọn irinṣẹ pataki fun idanwo: docker, Selenoid, Selenium Grid ati ṣe igbasilẹ awọn ẹya ti a beere fun awọn aṣawakiri / emulators.

3. Lilo Terraform, ṣe apejuwe awọn abuda ti VM ninu eyiti GitLab Runner yoo ṣe ifilọlẹ.

4. Fi GitLab Runner sori ẹrọ ati awọn irinṣẹ ti o tẹle pẹlu lilo Ansible, ṣeto awọn eto ati awọn atunto.

Apejuwe ti isiyi ipo ti amayederun

Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Awọn ọna asopọ lati ṣawari:

Iru irinṣẹ

Jẹ ki a ṣe akopọ rẹ!

Igbese
Imọ-ẹrọ
Irinṣẹ
Iye fun adaṣiṣẹ amayederun

1
Nṣiṣẹ agbegbe
Node.js, Selenium, Appium

  • Awọn irinṣẹ olokiki julọ fun wẹẹbu ati alagbeka
  • Ṣe atilẹyin ọpọlọpọ awọn ede ati awọn iru ẹrọ (pẹlu Node.js)

2
Awọn ọna iṣakoso ẹya 
Git

  • Awọn anfani ti o jọra pẹlu koodu idagbasoke

3
Apoti
Docker, Selenium akoj, Selenoid (ayelujara, Android)

  • Ṣiṣe awọn idanwo ni afiwe
  • Awọn agbegbe ti o ya sọtọ
  • Rọrun, awọn iṣagbega ẹya ti o rọ
  • Yiyipo idekun ajeku oro
  • Rọrun lati ṣeto

4
CI/CD
Gitlab CI

  • Awọn idanwo apakan ti opo gigun ti epo
  • Idahun kiakia
  • Hihan fun gbogbo ile/ẹgbẹ

5
Awọn iru ẹrọ awọsanma
Google awọsanma Platform

  • Awọn orisun lori ibeere (a sanwo nikan nigbati o nilo)
  • Rọrun lati ṣakoso ati imudojuiwọn
  • Hihan ati iṣakoso ti gbogbo oro

6
Orilẹ-ede
Kubernetes
Ni ipo ti awọn apoti pẹlu awọn aṣawakiri/awọn emulators inu awọn adarọ-ese:

  • Iwontunwọnsi / aifọwọyi
  • Iwosan ara-ẹni
  • Awọn imudojuiwọn ati awọn rollbacks laisi idilọwọ

7
Awọn amayederun bi koodu (IaC)
Terraform, O ṣeeṣe

  • Awọn anfani kanna pẹlu awọn amayederun idagbasoke
  • Gbogbo awọn anfani ti ikede koodu
  • Rọrun lati ṣe awọn ayipada ati ṣetọju
  • Ni kikun adaṣe

Awọn aworan atọka maapu ọkan: itankalẹ ti awọn amayederun

igbese 1: Agbegbe
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

igbese 2: VCS
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

step3: Containerization 
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

igbese 4: CI/CD 
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

step5: awọsanma Platform
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

step6: Orchestration
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

igbese 7: IaC
Awọn irinṣẹ DevOps kii ṣe fun DevOps nikan. Ilana ti kikọ awọn amayederun adaṣe adaṣe idanwo lati ibere

Ohun ti ni tókàn?

Nitorinaa, eyi ni opin nkan naa. Ṣugbọn ni ipari, Emi yoo fẹ lati ṣeto diẹ ninu awọn adehun pẹlu rẹ.

Lati ẹgbẹ rẹ
Gẹgẹbi mo ti sọ ni ibẹrẹ, Emi yoo fẹ ki nkan naa jẹ lilo ti o wulo ati iranlọwọ fun ọ lati lo imọ ti o gba ni iṣẹ gidi. Mo tun fi kun ọna asopọ si wulo guide.

Ṣugbọn paapaa lẹhin naa, maṣe da duro, adaṣe, ṣe iwadi awọn ọna asopọ ti o yẹ ati awọn iwe, wa bi o ṣe n ṣiṣẹ ni ile-iṣẹ rẹ, wa awọn aaye ti o le ni ilọsiwaju ati kopa ninu rẹ. Orire daada!

Lati ẹgbẹ mi

Lati akọle o le rii pe eyi nikan ni apakan akọkọ. Bíótilẹ o daju pe o yipada lati jẹ nla, awọn koko-ọrọ pataki ko tun bo nibi. Ni apakan keji, Mo gbero lati wo awọn amayederun adaṣe ni aaye ti IOS. Nitori awọn ihamọ Apple lori ṣiṣe awọn simulators iOS nikan lori awọn ọna ṣiṣe macOS, ibiti awọn solusan wa ti dín. Fun apẹẹrẹ, a ko le lo Docker lati ṣiṣẹ simulator tabi awọn awọsanma ti gbogbo eniyan lati ṣiṣẹ awọn ẹrọ foju. Ṣugbọn eyi ko tumọ si pe ko si awọn omiiran miiran. Emi yoo gbiyanju lati tọju ọ ni imudojuiwọn pẹlu awọn solusan ilọsiwaju ati awọn irinṣẹ igbalode!

Paapaa, Emi ko mẹnuba awọn koko-ọrọ nla pupọ ti o jọmọ ibojuwo. Ni Apá 3, Emi yoo wo awọn irinṣẹ ibojuwo amayederun olokiki julọ ati kini data ati awọn metiriki lati gbero.

Ati nipari. Ni ọjọ iwaju, Mo gbero lati tusilẹ ikẹkọ fidio kan lori kikọ awọn amayederun idanwo ati awọn irinṣẹ olokiki. Lọwọlọwọ, awọn iṣẹ ikẹkọ pupọ ati awọn ikowe wa lori DevOps lori Intanẹẹti, ṣugbọn gbogbo awọn ohun elo ni a gbekalẹ ni aaye ti idagbasoke, kii ṣe adaṣe adaṣe. Lori ọran yii, Mo nilo esi gaan lori boya iru iṣẹ ikẹkọ yoo jẹ ohun ti o nifẹ ati iwulo fun agbegbe ti awọn oludanwo ati awọn onimọ-ẹrọ adaṣe. O ṣeun ilosiwaju!

orisun: www.habr.com

Fi ọrọìwòye kun