Layisha ukuhlola njengesevisi ye-CI konjiniyela

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Enye yezinkinga abathengisi be-software yemikhiqizo eminingi abavame ukubhekana nayo ukuphindwaphindwa kwamakhono onjiniyela - onjiniyela, abahloli, nabaphathi bengqalasizinda - cishe kuwo wonke amathimba. Lokhu kusebenza nakonjiniyela ababizayo - ochwepheshe emkhakheni wokuhlola umthwalo.

Esikhundleni sokwenza imisebenzi yabo eqondile nokusebenzisa ulwazi lwabo oluhlukile ukuze bakhe inqubo yokuhlola umthwalo, khetha indlela yokusebenza, amamethrikhi alungile futhi ubhale izivivinyo ezizenzakalelayo ngokuvumelana namaphrofayela omthwalo, onjiniyela ngokuvamile kufanele bakhiphe ingqalasizinda yokuhlola kusukela ekuqaleni, balungise amathuluzi okulayisha, futhi bawashumeke. ngokwabo ezinhlelweni ze-CI, bamise ukuqapha kanye nokushicilelwa kwemibiko.

Ungathola izixazululo zezinkinga zenhlangano ekuhloleni esizisebenzisa kwa-Positive Technologies in esinye isihloko. Futhi kulokhu, ngizokhuluma ngamathuba okuhlanganisa ukuhlolwa komthwalo epayipini elivamile le-CI kusetshenziswa umqondo "wokuhlolwa komthwalo njengesevisi" (ukuhlolwa komthwalo njengesevisi). Uzofunda ukuthi yiziphi futhi yiziphi izithombe ze-docker zemithombo yokulayisha ezingasetshenziswa epayipini le-CI; indlela yokuxhuma imithombo yokulayisha kuphrojekthi yakho ye-CI usebenzisa isifanekiso sokwakha; ukuthi ipayipi ledemo libukeka kanjani ekusebenzeni ukuhlolwa komthwalo kanye nokushicilela imiphumela. I-athikili ingase ibe usizo konjiniyela bokuhlola isofthiwe nonjiniyela abazenzakalelayo ku-CI abacabanga ngesakhiwo sesistimu yabo yomthwalo.

Ingqikithi yomqondo

Umqondo wokuhlolwa komthwalo njengesevisi usikisela ikhono lokuhlanganisa amathuluzi okulayisha i-Apache JMeter, i-Yandex.Tank kanye nezinhlaka zakho zibe isistimu yokuhlanganisa eqhubekayo. Idemo izoba ngeye-GitLab CI, kodwa izimiso zivamile kuwo wonke amasistimu e-CI.

Ukuhlolwa komthwalo njengesevisi kuyisevisi ephakathi nendawo yokuhlola umthwalo. Ukuhlolwa komthwalo kwenziwa kuma-ejenti akhethekile, imiphumela ishicilelwa ngokuzenzakalelayo ku-GitLab Pages, Influx DB kanye ne-Grafana noma ezinhlelweni zokubika zokuhlola (TestRail, ReportPortal, njll.). Ukuzenzakalela kanye nokukala kusetshenziswa kalula ngangokunokwenzeka - ngokungeza nokubeka imingcele isifanekiso esivamile se-gitlab-ci.yml kuphrojekthi ye-GitLab CI.

Inzuzo yale ndlela ukuthi yonke ingqalasizinda ye-CI, ama-ejenti okulayisha, izithombe zedokhu zemithombo yomthwalo, amapayipi okuhlola, nemibiko yokushicilela kugcinwa umnyango osebenza ngokuzenzakalelayo ophakathi nendawo (onjiniyela be-DevOps), kuyilapho onjiniyela bokuhlola umthwalo bengagxila emizamweni yabo ekuthuthukisweni kokuhlolwa. kanye nokuhlaziywa kwemiphumela yabo, ngaphandle kokubhekana nezindaba zengqalasizinda.

Ukuze kube lula ukuchaza, sizocabanga ukuthi uhlelo lokusebenza oluqondiwe noma iseva ngaphansi kokuhlolwa isivele isetshenzisiwe futhi yalungiswa kusenesikhathi (imibhalo ezenzakalelayo ku-Python, SaltStack, Ansible, njll. ingasetshenziselwa lokhu). Bese wonke umqondo wokuhlolwa komthwalo njengesevisi ungena ezigabeni ezintathu: ukulungiswa, ukuhlolwa, ukushicilelwa kwemibiko. Imininingwane eyengeziwe kumdwebo (zonke izithombe ziyachofozeka):

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Imiqondo eyisisekelo nezincazelo ekuhlolweni komthwalo

Lapho senza izivivinyo zomthwalo, sizama ukunamathela Amazinga we-ISTQB nendlela yokwenza, sebenzisa amagama afanele kanye namamethrikhi anconyiwe. Ngizonikeza uhlu olufushane lwemiqondo eyinhloko nezincazelo ekuhlolweni komthwalo.

I-ejenti yokulayisha - umshini we-virtual lapho uhlelo lokusebenza luzokwethulwa khona - umthombo wokulayisha (i-Apache JMeter, i-Yandex.Tank noma imojula yokulayisha ozibhala yona).

Umgomo wokuhlola (okuqondiwe) - iseva noma uhlelo lokusebenza olufakwe kuseva oluzolayishwa.

Isimo sokuhlola (indaba yokuhlola) - isethi yezinyathelo ezinepharamitha: izenzo zomsebenzisi kanye nokusabela okulindelekile kulezi zenzo, nezicelo zenethiwekhi ezigxilile nezimpendulo, kuye ngamapharamitha acacisiwe.

Iphrofayela noma uhlelo lokulayisha (iphrofayela) - v Indlela ye-ISTQB (Isigaba 4.2.4, ikhasi 43) amaphrofayili okulayisha achaza amamethrikhi abalulekile ekuhlolweni okuthile kanye nezinketho zokushintsha amapharamitha okulayisha phakathi nokuhlolwa. Ungabona izibonelo zamaphrofayili esithombeni.

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Hlola β€” umbhalo onesethi enqunywe kusengaphambili yamapharamitha.

Uhlelo lokuhlola (uhlelo lokuhlola) - isethi yokuhlolwa kanye nephrofayili yomthwalo.

I-Testran (i-testrun) - ukuphindaphinda okukodwa kokuhlola okukodwa ngesimo somthwalo esigcwaliswe ngokugcwele kanye nombiko owamukelwe.

Isicelo senethiwekhi (isicelo) - Isicelo se-HTTP esithunyelwe sisuka kumenzeli siye kokuthile.

Impendulo yenethiwekhi (impendulo) - Impendulo ye-HTTP ethunyelwe isuka ekuqondisweni iye kumenzeli.
Ikhodi yokuphendula ye-HTTP (isimo sezimpendulo ze-HTTP) - ikhodi yokuphendula ejwayelekile evela kuseva yohlelo lokusebenza.
Okwenziwayo kuwumjikelezo ophelele wokuphendula isicelo. Umsebenzi ubalwa kusukela ekuqaleni kokuthumela isicelo (isicelo) kuze kube sekupheleni kokuthola impendulo (impendulo).

Isimo sokwenziwe - ukuthi kungenzeka yini ukuqedela ngempumelelo umjikelezo wempendulo yesicelo. Uma kube nephutha kulo mjikelezo, konke okwenziwayo kuthathwa njengokungaphumeleli.

Isikhathi sokuphendula (ukubambezeleka) - isikhathi kusukela ekupheleni kokuthumela isicelo (isicelo) kuya ekuqaleni kokuthola impendulo (impendulo).

Layisha amamethrikhi - izici zesevisi elayishiwe kanye ne-ejenti yomthwalo enqunywe ngesikhathi sokuhlolwa komthwalo.

Amamethrikhi ayisisekelo okulinganisa amapharamitha womthwalo

Ezinye ezisetshenziswa kakhulu futhi ezinconyiwe kumethologi I-ISTQB (ikhasi 36, 52) amamethrikhi akhonjisiwe kuthebula elingezansi. Amamethrikhi afanayo omenzeli kanye nethagethi afakwe kuhlu emugqeni ofanayo.

Amamethrikhi omenzeli wokulayisha
Amamethrikhi esistimu eqondiwe noma uhlelo lokusebenza oluhlolwa ngaphansi komthwalo

Inombolo  I-vCPU kanye nenkumbulo RAM,
disk - izici "zensimbi" ze-ejenti yomthwalo
CPU, Imemori, ukusetshenziswa kweDiski - Amandla we-CPU, inkumbulo nokulayishwa kwediski
ohlelweni lokuhlola. Ngokuvamile kukalwa njengephesenti
amanani aphezulu atholakalayo

inethiwekhi (kwi-ejenti yokulayisha) - ukuphuma
isixhumi esibonakalayo senethiwekhi kuseva,
lapho i-ejenti yokulayisha ifakiwe.
Ivamise kukalwa ngamabhayithi ngomzuzwana (bps)
inethiwekhi(kuthagethi) - umkhawulokudonsa wesixhumi esibonakalayo senethiwekhi
kuseva eqondiwe. Ivamise kukalwa ngamabhayithi ngomzuzwana (bps)

Abasebenzisi ababonakalayo- inombolo yabasebenzisi be-virtual,
ukusebenzisa izimo zomthwalo kanye
ukulingisa izenzo zangempela zabasebenzisi
Isimo sabasebenzisi ababonakalayo, Kuphumelele/Kwehlulekile/Ingqikithi β€” inombolo yokuphumelela kanye
izimo ezingaphumelelanga zabasebenzisi boqobo
ngezimo zokulayisha, kanye nenani layo eliphelele.

Ngokuvamile kulindeleke ukuthi bonke abasebenzisi bakwazi ukuqedela
yonke imisebenzi yakho eshiwo kuphrofayela yokulayisha.
Noma yiliphi iphutha lizosho ukuthi umsebenzisi wangempela ngeke akwazi
xazulula inkinga yakho lapho usebenza nesistimu

Izicelo ngesekhondi (umzuzu)- inani lezicelo zenethiwekhi ngomzuzwana (noma umzuzu).

Isici esibalulekile se-ejenti yomthwalo ukuthi zingaki izicelo engazikhiqiza.
Eqinisweni, lokhu ukulingisa ukufinyelela kuhlelo lokusebenza ngabasebenzisi ababonakalayo
Izimpendulo ngesekhondi (umzuzu)
- inani lezimpendulo zenethiwekhi ngomzuzwana (noma iminithi).

Isici esibalulekile sesevisi okuqondiswe kuyo: malini
khiqiza futhi uthumele izimpendulo emibuzweni nge
i-ejenti yokulayisha

Isimo sokuphendula se-HTTP- inombolo yamakhodi empendulo ahlukene
kusuka kuseva yohlelo lokusebenza etholwe i-ejenti yokulayisha.
Isibonelo, i-200 OK isho ucingo oluyimpumelelo,
futhi 404 - ukuthi insiza ayizange itholakale

I-Latency (isikhathi sokuphendula) - isikhathi kusukela ekupheleni
ukuthumela isicelo (isicelo) ngaphambi kokuqala ukuthola impendulo (impendulo).
Ivamise ukukalwa ngama-millisecond (ms)

Isikhathi sokuphendula sokwenziwe- isikhathi sokuthengiselana okukodwa okuphelele,
ukuqedwa komjikelezo wokuphendula isicelo.
Lesi yisikhathi kusukela ekuqaleni kokuthumela isicelo (isicelo)
kuze kuphothulwe ukuthola impendulo (impendulo).

Isikhathi sokwenziwe singalinganiswa ngamasekhondi (noma amaminithi)
ngezindlela eziningana: cabangela ubuncane,
esiphezulu, isilinganiso futhi, isibonelo, i-90th percentile.
Ukufundwa okuncane nokuphezulu kudlulele
isimo sokusebenza kwesistimu.
I-percentile yamashumi ayisishiyagalolunye iyona esetshenziswa kakhulu,
njengoba kukhombisa iningi labasebenzisi,
ukusebenza kahle emngceleni wokusebenza kwesistimu

Okwenziwayo ngesekhondi (umzuzu) - inombolo ephelele
okwenziwayo ngomzuzwana (umzuzu),
okungukuthi, isicelo esikwazile ukwamukela malini futhi
cubungula izicelo bese ukhipha izimpendulo.
Eqinisweni, lokhu ukuphela kwesistimu

Isimo sokwenziwe , Kuphumelele / Kwehlulekile / Inani - inombolo
ngempumelelo, akuphumelelanga kanye nenani eliphelele lemisebenzi.

Kubasebenzisi bangempela akuphumelelanga
ukuthengiselana kuzosho ngempela
ukungakwazi ukusebenza nesistimu ngaphansi komthwalo

Layisha Umdwebo Wohlelo Lokuhlola

Umqondo wokuhlolwa komthwalo ulula kakhulu futhi uqukethe izigaba ezintathu eziyinhloko, esengizibalulile kakade: Lungiselela-Ukuhlola-Bika, okungukuthi, ukulungiselela imigomo yokuhlola nokusetha imingcele yemithombo yokulayisha, bese senza ukuhlolwa komthwalo futhi, ekugcineni, ukukhiqiza nokushicilela umbiko wokuhlola.

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Amanothi ohlelo:

  • U-QA.Tester uchwepheshe ekuhloleni umthamo,
  • Ithagethi uhlelo lokusebenza oluqondiwe ofuna ukwazi ngalo ukuziphatha kwalo ngaphansi komthwalo.

Ukuhlelwa kwamabhizinisi, izigaba kanye nezinyathelo kumdwebo

Izigaba nezinyathelo
Kwenzakalani
Yini ekungeneni
Kuyini okukhiphayo

Lungiselela: isigaba sokulungiselela ukuhlolwa

LoadParameters
Ukusetha nokuqalisa
umsebenzisi
layisha amapharamitha,
ukukhetha kwamamethrikhi kanye
ukulungiselela uhlelo lokuhlola
(layisha iphrofayili)
Izinketho ngokwezifiso ze
ukuqaliswa kwe-ejenti yokulayisha
Uhlelo lokuhlola
Inhloso yokuhlola

VM
Ukuthunyelwa kwamafu
umshini virtual nge
izici ezidingekayo
Izilungiselelo ze-VM zomenzeli wokulayisha
Imibhalo ezenzakalelayo ye
Ukwakhiwa kwe-VM
I-VM ifakwe ngaphakathi
ifu

Umona
Ukusetha nokulungiswa kwe-OS
imvelo for
umsebenzi we-ejenti yokulayisha
Izilungiselelo zemvelo ze
i-ejenti yokulayisha
Imibhalo ezenzakalelayo ye
izilungiselelo zendawo
Imvelo elungisiwe:
I-OS, amasevisi nezinhlelo zokusebenza,
okudingekayo emsebenzini
i-ejenti yokulayisha

Ama-LoadAgents
Ukufakwa, ukumisa kanye nepharamitha
i-ejenti yokulayisha.
Noma ukulanda isithombe se-docker kusuka
umthombo wokulayisha olungiselelwe ngaphambilini
Layisha isithombe sedokha somthombo
(I-YAT, JM noma uhlaka oluzibhalele lona)
Izilungiselelo
i-ejenti yokulayisha
Setha futhi ulungile
i-ejenti yokulayisha umsebenzi

Isivivinyo: isigaba sokwenziwa kokuhlolwa komthwalo. Imithombo ngama-ejenti okulayisha asetshenziswe kumachibi ama-ejenti azinikele we-GitLab CI

Layisha
Iqala I-ejenti Yomthwalo
ngohlelo lokuhlola olukhethiwe
kanye namapharamitha wokulayisha
Izinketho Zomsebenzisi
ukuze kuqaliswe
i-ejenti yokulayisha
Uhlelo lokuhlola
Inhloso yokuhlola
Amalogi wokwenza
ukuhlolwa komthwalo
Amalogi esistimu
Amandla ezinguquko kumamethrikhi egoli kanye ne-ejenti yokulayisha

Run Agents
Ukubulawa kwe-ejenti
inqwaba yemibhalo yokuhlola
ngokuvumelana ne
layisha iphrofayili
Layisha Ukusebenzelana komenzeli
ngenhloso yokuhlola
Uhlelo lokuhlola
Inhloso yokuhlola

izingodo
Ukuqoqwa kwamalogi "aluhlaza".
ngesikhathi sokuhlolwa kokulayisha:
layisha amarekhodi omsebenzi we-ejenti,
isimo sokuhlolwa okuhlosiwe
kanye ne-VM eqhuba i-ejenti

Amalogi wokwenza
ukuhlolwa komthwalo
Amalogi esistimu

Ama-metric
Iqoqa amamethrikhi "aluhlaza" phakathi nokuhlolwa

Amandla ezinguquko kumamethrikhi egoli
kanye ne-ejenti yokulayisha

Umbiko: isigaba sokulungiselela umbiko wokuhlolwa

Generator
Ukucubungula kuqoqiwe
ukulayisha uhlelo kanye
uhlelo lokuqapha "oluhlaza"
amamethrikhi namalogi
Ukwakhiwa kombiko ku
ifomu elifundekayo lomuntu
kungenzeka ngezakhi
abahlaziyi
Amalogi wokwenza
ukuhlolwa komthwalo
Amalogi esistimu
Amandla ezinguquko kumamethrikhi
i-ejenti eqondiwe neyokulayisha
Amalogi "akuhlaza" acutshunguliwe
ngefomethi efanelekile
ukulayisha kusitoreji sangaphandle
Umbiko wokulayisha okumile,
ezifundekayo ngabantu

Shicilela
Ukushicilelwa kombiko
mayelana nomthwalo
ukuhlola kwangaphandle
isevisi
Kucutshungulwe "okuluhlaza"
izingodo ngefomethi efanelekile
ukuze kulayishwe ngaphandle
izinqolobane
Kulondolozwe ngaphandle
imibiko yokugcina ivuliwe
umthwalo, kufanelekile
ukuze kuhlaziywe abantu

Ixhuma imithombo yokulayisha kusifanekiso se-CI

Asiqhubekele engxenyeni ebonakalayo. Ngifuna ukukhombisa ukuthi kanjani kwamanye amaphrojekthi enkampanini I-Positive Technologies sisebenzise umqondo wokuhlolwa komthwalo njengesevisi.

Okokuqala, ngosizo lonjiniyela bethu be-DevOps, sidale inqwaba yama-ejenti azinikele ku-GitLab CI ukuze senze ukuhlolwa komthwalo. Ukuze singabaphambanisi ezifanekisweni nabanye, njengamachibi omhlangano, sengeze omaka kulawa ma-ejenti, tags: umthwalo. Ungasebenzisa noma yimaphi amanye amathegi aqondakalayo. Bayabuza ngesikhathi sokubhalisa Abagijimi be-GitLab CI.

Ungawathola kanjani amandla adingekayo ngehadiwe? Izici zama-ejenti okulayisha - inombolo eyanele ye-vCPU, i-RAM neDiski - ingabalwa ngokusekelwe eqinisweni lokuthi i-Docker, i-Python (ye-Yandex.Tank), i-ejenti ye-GitLab CI, i-Java (ye-Apache JMeter) kufanele isebenze kumenzeli. . Ku-Java ngaphansi kwe-JMeter, kuyanconywa futhi ukusebenzisa ubuncane be-RAM engu-512 MB futhi, njengomkhawulo ophezulu, 80% inkumbulo etholakalayo.

Ngakho, ngokusekelwe kokuhlangenwe nakho kwethu, sincoma ukusebenzisa okungenani ama-vCPU angu-4, 4 GB RAM, 60 GB SSD kuma-ejenti okulayisha. Ukuphuma kwekhadi lenethiwekhi kunqunywa ngokusekelwe ezidingweni zephrofayili yomthwalo.

Ngokuyinhloko sisebenzisa imithombo emibili yokulayisha - izithombe ze-Apache JMeter kanye ne-Yandex.Tank docker.

I-Yandex.Tank iyithuluzi lomthombo ovulekile elivela ku-Yandex lokuhlola ukulayisha. Ukwakheka kwayo okujwayelekile kususelwa kujeneretha yesicelo se-HTTP esebenza kahle kakhulu ye-Phantom. Ithangi linokuqapha okwakhelwe ngaphakathi kwezinsiza zeseva ngaphansi kokuhlolwa ngephrothokholi ye-SSH, lingamisa ngokuzenzakalelayo ukuhlolwa ngaphansi kwezimo ezishiwo, lingabonisa imiphumela kukho kokubili ku-console futhi ngesimo samagrafu, ungaxhuma amamojula akho. kuyo ukuze kunwetshwe ukusebenza. Kodwa-ke, sasebenzisa i-Tank ngenkathi ingakabi yinto evamile. Esihlokweni esithi "I-Yandex.Tank kanye ne-automation yokuhlola ukulayishaΒ»ungafunda indaba yokuthi senza kanjani ukuhlola umthamo ngayo ngo-2013 I-Firewall yohlelo lokusebenza lwe-PT ingenye yemikhiqizo yenkampani yethu.

I-Apache JMeter iyithuluzi lokuhlola ukulayisha komthombo ovulekile kusuka ku-Apache. Ingasetshenziswa ngokulinganayo ukuhlola kokubili izinhlelo zokusebenza zewebhu ezimile neziguquguqukayo. I-JMeter isekela inani elikhulu lamaphrothokholi nezindlela zokuxhumana nezinhlelo zokusebenza: i-HTTP, i-HTTPS (i-Java, i-NodeJS, i-PHP, i-ASP.NET, njll.), I-SOAP / REST Webservices, i-FTP, i-TCP, i-LDAP, i-SMTP(S), i-POP3( S) ) kanye ne-IMAP(S), isizindalwazi nge-JDBC, ingakhipha imiyalo yegobolondo futhi isebenze ngezinto ze-Java. I-JMeter ine-IDE yokudala, ukulungisa iphutha nokwenza izinhlelo zokuhlola. Kukhona futhi i-CLI yokusebenza komugqa womyalo kunoma iyiphi isistimu yokusebenza ehambisana ne-Java (Linux, Windows, Mac OS X). Ithuluzi lingakwazi ukukhiqiza umbiko wokuhlola we-HTML.

Ukuze kube lula ukusetshenziswa enkampanini yethu, ukuze abahloli bakwazi ukushintsha futhi bengeze imvelo, senze izithombe ze-docker zemithombo yokulayisha ku-GitLab CI ngokushicilelwa kwangaphakathi. i-docker registry e-Artifactory. Lokhu kwenza kusheshe futhi kube lula ukuwaxhuma emigqeni yokuhlolwa komthwalo. Ungayenza kanjani i-docker push ekubhaliseni nge-GitLab CI - bona imiyalelo.

Sithathe leli fayela le-docker eliyisisekelo le-Yandex.Tank:

Dockerfile 
1 | FROM direvius/yandex-tank
2 | ENTRYPOINT [""]

Futhi nge-Apache JMeter lena:

Dockerfile 
1 | FROM vmarrazzo/jmeter
2 | ENTRYPOINT [""]

Ungafunda ukuthi uhlelo lwethu lokuhlanganisa oluqhubekayo lusebenza kanjani esihlokweni esithi "Ukuzenzakalela kwezinqubo zokuthuthukisa: ukuthi siyisebenzise kanjani imibono ye-DevOps e-Positive Technologies".

Isifanekiso nepayipi

Isibonelo sesifanekiso sokwenza ukuhlolwa komthwalo siyatholakala kuphrojekthi umthwalo wedemo. I funda ifayela Ungafunda imiyalelo yokusebenzisa isifanekiso. Esifanekiso ngokwaso (file .gitlab-ci.yml) kunamanothi mayelana nokuthi isinyathelo ngasinye sinesibopho sani.

Isifanekiso silula kakhulu futhi sibonisa izigaba ezintathu zokuhlolwa komthwalo ezichazwe kumdwebo ongenhla: ukulungiselela, ukuhlola, nokushicilela imibiko. Unesibopho salokhu internship: Lungiselela, Hlola futhi Ubike.

  1. Isiteji Lungiselela kufanele isetshenziselwe ukulungisa okuhlosiwe kokuhlola noma ukuhlola ukutholakala kwayo. Indawo yemithombo yokulayisha ayidingi ukulungiswa, yakhiwe kusengaphambili njengezithombe zedokhu futhi ithunyelwe endaweni yokubhalisa yedokhu: vele ucacise inguqulo oyifunayo esigabeni Sokuhlola. Kodwa ungazakha kabusha futhi wenze ezakho izithombe ezilungisiwe.
  2. Isiteji test esetshenziselwa ukucacisa umthombo wokulayisha, ukwenza izivivinyo, nama-artifact okuhlola esitolo. Ungakhetha noma yimuphi umthombo wokulayisha: Yandex.Tank, Apache JMeter, eyakho, noma zonke ndawonye. Ukukhubaza imithombo engadingekile, vele ubeke amazwana noma ususe umsebenzi. Amaphoyinti okungena emithombo yokulayisha:

    Qaphela: Isifanekiso sokucushwa somhlangano sisetshenziselwa ukusetha ukusebenzisana nesistimu ye-CI futhi akusho ukubekwa kokuhlola okunengqondo kuyo. Ngokuhlolwa, indawo yokungena icacisiwe, lapho iskripthi se-bash yokulawula sitholakala khona. Indlela yokusebenzisa izivivinyo, ukukhiqiza imibiko, kanye nemibhalo yokuhlola ngokwayo kufanele isetshenziswe ngonjiniyela be-QA. Kudemo, kuyo yomibili imithombo yokulayisha, isicelo sekhasi eliyinhloko le-Yandex sisetshenziswa njengokuhlola okulula kakhulu. Izikripthi nezinhlaka zokuhlola zikuhlu lwemibhalo ./izivivinyo.

  3. Esiteji Umbiko udinga ukuchaza ukuthi ungayishicilela kanjani imiphumela yokuhlolwa etholwe esigabeni Sokuhlola ezindaweni zokugcina zangaphandle, isibonelo, kumakhasi e-GitLab noma amasistimu okubika akhethekile. I-GitLab Pages idinga ukuthi inkomba ye-./public ingabi nalutho futhi iqukathe okungenani ifayela elithi index.html ngemva kokuphela kokuhlola. Ungafunda ngamanuances wensizakalo ye-GitLab Pages. isixhumanisi.

    Izibonelo zendlela yokuthekelisa idatha:

    Ithumela imiyalelo yokusetha:

Esibonelweni sedemo, ipayipi elinokuhlolwa komthwalo nemithombo emibili yokulayisha (ungakhubaza okungadingekile) libukeka kanje:

Layisha ukuhlola njengesevisi ye-CI konjiniyela

I-Apache JMeter ingazenzela umbiko we-HTML ngokwawo, ngakho kunenzuzo enkulu ukuwugcina kumakhasi e-GitLab usebenzisa amathuluzi ajwayelekile. Nansi indlela umbiko we-Apache JMeter obukeka ngayo:

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Esibonelweni sedemo se-Yandex.Tank, uzobona kuphela umbiko wombhalo mbumbulu esigabeni samakhasi we-GitLab. Ngesikhathi sokuhlolwa, i-Tank ingagcina imiphumela ku-database ye-InfluxDB, futhi ukusuka lapho ingaboniswa, isibonelo, ku-Grafana (ukulungiswa kwenziwa kufayela. ./tests/example-yandextank-test.yml). Nansi indlela umbiko kaTank obukeka ngayo eGrafana:

Layisha ukuhlola njengesevisi ye-CI konjiniyela

Isifingqo

Esihlokweni, ngikhulume ngomqondo "wokuhlolwa komthwalo njengesevisi" (ukuhlolwa komthwalo njengesevisi). Umqondo oyinhloko uwukusebenzisa ingqalasizinda yamachibi alungiselelwe kusengaphambili ama-ejenti okulayisha, izithombe zedokhu zemithombo yomthwalo, amasistimu okubika kanye nepayipi eliwahlanganisa ku-GitLab CI ngokusekelwe kusifanekiso esilula se-.gitlab-ci.yml (isibonelo isixhumanisi). Konke lokhu kusekelwa ithimba elincane lonjiniyela be-automation futhi baphindaphindwa ngesicelo samaqembu omkhiqizo. Ngethemba ukuthi lokhu kuzokusiza ekulungiseleleni nasekusebenziseni uhlelo olufanayo enkampanini yakho. Ngiyabonga ngokunaka!

PS Ngifuna ukubonga kakhulu kozakwethu, u-Sergey Kurbanov no-Nikolai Yusev, ngosizo lwezobuchwepheshe ngokuqaliswa komqondo wokuhlolwa komthwalo njengenkonzo enkampanini yethu.

umbhali: UTimur Gilmullin - Isekela Inhloko yeTechnologies and Development Processes (DevOps) kwaPositive Technologies

Source: www.habr.com

Engeza amazwana