Rodha yekuyedza sevhisi yeCI yevagadziri

Rodha yekuyedza sevhisi yeCI yevagadziri

Rimwe rematambudziko anowanzo sangana nevatengesi vezvigadzirwa zvema software akawanda ndeyekudzokororwa kwehunyanzvi hwemainjiniya - vanogadzira, vanoedza, uye vatariri vezvivakwa - pane chingangoita timu yese. Izvi zvinoshandawo kune anodhura mainjiniya - nyanzvi mumunda wekuongorora mutoro.

Panzvimbo pekuita basa ravo rakananga uye kushandisa ruzivo rwavo rwakasiyana kuvaka maitiro ekuyedza mitoro, sarudza nzira, yakakwana metrics uye nyora otomatiki zvinoenderana nemaprofaili emutoro, mainjiniya anowanzo tumira zvivakwa zvekuyedza kubva pakutanga, gadzirisa maturusi ekutakura, uye nekuanyudza. ivo pachavo muCI masisitimu, kumisikidza kutarisa uye kuburitswa kwemishumo.

Unogona kuwana mhinduro kune mamwe matambudziko esangano mukuyedza atinoshandisa paPositive Technologies mukati imwe nyaya. Uye mune ino, ini ndichataura nezve mukana wekubatanidza bvunzo dzemutoro mune yakajairwa CI pombi ndichishandisa pfungwa ye "kuyedzwa kwemutoro sevhisi" (kuyedzwa kwemutoro sevhisi). Iwe unozodzidza kuti uye ndeipi docker mifananidzo yezvinyorwa zvinotakura zvinogona kushandiswa muCI pombi; nzira yekubatanidza mitoro yekutakura kune yako CI purojekiti uchishandisa kuvaka template; izvo pombi yedemo inotaridzika pakuita bvunzo dzemutoro uye kuburitsa mhedzisiro. Chinyorwa ichi chinogona kubatsira kune software yekuyedza mainjiniya uye otomatiki mainjiniya muCI vari kufunga nezve dhizaini yehurongwa hwavo hwekutakura.

Hunhu hwepfungwa

Pfungwa yekuyera mutoro sesevhisi inoreva kugona kubatanidza maturusi ekutakura Apache JMeter, Yandex.Tank uye neyako masisitimu mune inopokana inoenderera yekubatanidza sisitimu. Iyo demo ichave yeGitLab CI, asi misimboti yakajairika kune ese maCI masisitimu.

Kuyedzwa kwemutoro sesevhisi ibasa repakati rekuyedzwa kwemutoro. Bvunzo dzemutoro dzinoitwa mumadziva evamiriri akazvitsaurira, mhedzisiro inoburitswa otomatiki muGitLab Mapeji, Influx DB uye Grafana kana mumatest reporting system (TestRail, ReportPortal, nezvimwewo). Otomatiki uye kuyera kunoitwa zviri nyore sezvinobvira - nekuwedzera uye parametering yakajairika gitlab-ci.yml template muGitLab CI chirongwa.

Chakanakira nzira iyi ndechekuti iyo yese CI zvivakwa, zvinotakura zvinhu, docker mifananidzo yezvinobvamo, mapombi ekuyedza, uye mishumo yekushambadzira inochengetwa nedhipatimendi repakati otomatiki (DevOps mainjiniya), nepo mainjiniya ekuyedza anogona kutarisa kuedza kwavo pakuvandudza bvunzo. uye kuongorora mhedzisiro yavo, pasina kubata nenyaya dzezvivakwa.

Kuti tsananguro ive nyore, isu tichafunga kuti chinangwa chekushandisa kana sevha iri pasi pekuyedzwa yakatoiswa uye yakagadziriswa pachine nguva (otomatiki zvinyorwa muPython, SaltStack, Ansible, nezvimwe zvinogona kushandiswa pane izvi). Ipapo iyo pfungwa yese yekuyedzwa kwemutoro sevhisi inopinda mumatanho matatu: kugadzirira, kuedza, kubudiswa kwemishumo. Mamwe ruzivo padhiyagiramu (mifananidzo yese inodzvanywa):

Rodha yekuyedza sevhisi yeCI yevagadziri

Basic concepts uye tsananguro mukuyedzwa kwemutoro

Pakuita bvunzo dzekutakura, tinoedza kutevedzera ISTQB zviyero uye nzira, shandisa mazwi akakodzera uye zviyero zvinokurudzirwa. Ini ndichapa runyoro rupfupi rwepfungwa huru uye tsananguro mukuyedzwa kwemutoro.

Load agent - a virtual muchina iyo application ichatangwa - the load source (Apache JMeter, Yandex.Tank kana self-written load module).

Kuedza chinangwa (chinangwa) - sevha kana application yakaiswa pane sevha inozoiswa pasi pekuremerwa.

Test scenario (test case) - seti yematanho akatemerwa: zviito zvemushandisi uye zvinotarisirwa kuita kune izvi zviito, ine yakagadziriswa network zvikumbiro uye mhinduro, zvichienderana neyakatsanangurwa paramita.

Mbiri kana chirongwa chekutakura (mbiri) - mukati ISTQB nzira (Section 4.2.4, p. 43) mitoro profiles inotsanangura metrics akakosha kune imwe bvunzo uye sarudzo dzekuchinja mitoro paramita panguva yekuedzwa. Iwe unogona kuona mienzaniso yemaprofile mumufananidzo.

Rodha yekuyedza sevhisi yeCI yevagadziri

Test - chiitiko chine yakatarwa seti yemaparamita.

Chirongwa chekuyedza (yedzo-chirongwa) - seti yemiedzo uye nhoroondo yemutoro.

Testran (tesrun) - imwe iteration yekumhanyisa bvunzo imwe ine yakazara yakazara mitoro mamiriro uye mushumo wakagamuchirwa.

Network chikumbiro (chikumbiro) -Chikumbiro cheHTTP chakatumirwa kubva kumumiririri kune chinangwa.

Network mhinduro (mhinduro) - Mhinduro yeHTTP inotumirwa kubva pachinangwa kuenda kumumiririri.
HTTP mhinduro kodhi (HTTP mhinduro mamiriro) - yakajairwa mhinduro kodhi kubva kune application server.
Kutengeserana kutenderera kwakazara kwekukumbira-mhinduro. Kutengeserana kunoverengwa kubva pakutanga kwekutumira chikumbiro (chikumbiro) kusvika pakupera kwekugamuchira mhinduro (mhinduro).

Transaction mamiriro - kana zvaikwanisika kupedzisa kutenderera kwekukumbira-mhinduro. Kana pakange paine chikanganiso mukutenderera uku, saka kutengeserana kwese kunoonekwa sekusina kubudirira.

Nguva yekupindura (latency) - nguva kubva pakupera kwekutumira chikumbiro (chikumbiro) kusvika pakutanga kwekugamuchira mhinduro (mhinduro).

Rodha metrics - hunhu hwebasa rakaremerwa uye mumiriri wemutoro akatemerwa mukuita kwekuyedzwa kwemutoro.

Basic metrics yekuyera mutoro paramita

Zvimwe zvezvinonyanya kushandiswa uye zvinokurudzirwa mune nzira ISTQB (p. 36, 52) metrics inoratidzwa mutafura iri pazasi. Mametric akafanana emumiririri uye chinangwa akanyorwa pamutsetse mumwe chete.

Metrics yemumiririri wekutakura
Metrics eiyo inotangwa system kana application iri kuedzwa pasi pemutoro

Nhamba ye  vCPU uye ndangariro RAM,
dhisiki - "simbi" maitiro emumiririri wemutoro
CPU, Memory, Disk kushandiswa -Masimba eCPU, ndangariro uye dhisiki kurodha
mukuedza. Kazhinji kuyerwa sechikamu che
huwandu huripo hunokosha

network throughput (pane mutoro mumiririri) - throughput
network interface pane server,
uko mumiriri wekutakura akaiswa.
Kazhinji kuyerwa nemabhayithi pasekondi (bps)
network throughput(pane chinangwa) - network interface bandwidth
pane yakanangwa server. Kazhinji kuyerwa mumabhayithi pasekondi (bps)

Vanoshandisa Virtual- nhamba yevashandisi vechokwadi,
kushandisa mitoro mamiriro uye
kutevedzera zviito zvemushandisi chaiwo
Virtual vashandisi mamiriro, Yakapfuura/Yakundikana/Total β€” nhamba yekubudirira uye
masitadhi asina kubudirira evashandisi vechokwadi
kune mamiriro ekutakura, pamwe nenhamba yavo yese.

Zvinowanzotarisirwa kuti vese vashandisi vakakwanisa kupedzisa
mabasa ako ese akatsanangurwa muprofile yekutakura.
Chero kukanganisa kuchareva kuti mushandisi chaiye haakwanise
gadzirisa dambudziko rako paunenge uchishanda nehurongwa

Zvikumbiro pasekondi (miniti)- nhamba yezvikumbiro zvetiweki pasekondi (kana miniti).

Hunhu hwakakosha hwemumiriri wemutoro ndeyekuti zvingani zvikumbiro zvaanogona kuunza.
Muchokwadi, uku kutevedzera kwekuwana iyo application nevashandisi chaiwo
Mhinduro pasekondi (miniti)
- nhamba yemhinduro dzetiweki pasekondi (kana miniti).

Hunhu hwakakosha hwebasa rinotangwa: yakawanda sei
gadzira uye tumira mhinduro kumibvunzo nayo
loading agent

HTTP mhinduro mamiriro- nhamba yemakodhi emhinduro akasiyana
kubva kuseva yekushandisa yakagamuchirwa nemumiririri wemutoro.
Semuenzaniso, 200 OK zvinoreva kufona kwakabudirira,
uye 404 - kuti sosi haina kuwanikwa

Latency (nguva yekupindura) - nguva kubva kumagumo
kutumira chikumbiro (chikumbiro) usati watanga kugamuchira mhinduro (mhinduro).
Kazhinji kuyerwa mumamilliseconds (ms)

Transaction mhinduro nguva- nguva yekutengeserana kumwe kuzere,
kupera kwechikumbiro-mhinduro kutenderera.
Ino ndiyo nguva kubva pakutanga kwekutumira chikumbiro (chikumbiro)
kusvika pakupera kwekugamuchira mhinduro (mhinduro).

Nguva yekutengeserana inogona kuyerwa mumasekonzi (kana maminetsi)
nenzira dzakawanda: funga zvishoma,
yakawanda, avhareji uye, semuenzaniso, iyo 90th percentile.
Izvo zvishoma uye zvakanyanya kuverenga zvakanyanya
hurongwa hwekuita chimiro.
Iyo makumi mapfumbamwe muzana muzana ndiyo inonyanya kushandiswa,
sezvainoratidza vazhinji vevashandisi,
kushanda zvakanaka pachikumbaridzo chekushanda kwehurongwa

Transactions pasekondi (miniti) - nhamba yakakwana
kutengeserana pasekondi (miniti),
ndiko kuti, yakawanda sei chikumbiro chakakwanisa kugamuchira uye
gadzirisa zvikumbiro uye kupa mhinduro.
Muchokwadi, uku ndiko kubuda kweiyo system

Transaction mamiriro , Yakapfuura / Yakundikana / Zvose - nhamba
zvakabudirira, hazvina kubudirira uye nhamba yese yekutengeserana.

Kune vashandisi chaivo hazvina kubudirira
kutengeserana kuchareva chaizvoizvo
kusakwanisa kushanda nehurongwa huri pasi pemutoro

Rodha Kuedza Schematic Dhiagiramu

Pfungwa yekuyedzwa kwemutoro iri nyore uye ine matanho makuru matatu, andatotaura kare: Gadzirira-Test-Report, ndiko kuti, kugadzirira zvibodzwa zvekuyedza uye kuseta ma paramita ezvitubu zvemitoro, wobva waita bvunzo dzemutoro uye, pakupera, kugadzira uye kuburitsa mushumo webvunzo.

Rodha yekuyedza sevhisi yeCI yevagadziri

Schematic notes:

  • QA.Tester inyanzvi mukuyedza mutoro,
  • Target ndiyo chinangwa chekushandisa chaunoda kuziva maitiro ayo ari pasi pemutoro.

Classifier yemasangano, nhanho uye matanho ari mudhayagiramu

Matanho nematanho
Chii chiri kuitika
Chii chiri pamusuwo
Chii chinobuda

Gadzirira: gadziriro yegadziriro yekuedzwa

LoadParameters
Kugadzika uye kutanga
mushandisi
load parameters,
kusarudzwa kwema metrics uye
kugadzirira chirongwa chekuedza
(profile yekutakura)
Tsika sarudzo dze
load agent kutanga
Test plan
Chinangwa chekuedza

VM
Cloud deployment
virtual muchina ne
zvinodiwa maitiro
VM marongero emumiririri wemutoro
Automation zvinyorwa zve
VM kugadzira
VM yakagadziridzwa mukati
gore

Send
OS setup uye kugadzirira
nharaunda ye
load agent basa
Environment settings for
load agent
Automation zvinyorwa zve
zvakatipoteredza zvigadziriso
Yakagadzirirwa nzvimbo:
OS, masevhisi uye maapplication,
zvinodiwa pabasa
load agent

LoadAgents
Kuisa, kugadzirisa uye parameterization
loading agent.
Kana kurodha docker mufananidzo kubva
preconfigured load source
Rodha source docker mufananidzo
(YAT, JM kana kuzvinyora-yako)
Settings
load agent
Gadzirisa uye wakagadzirira
kushanda mutoro agent

Muedzo: nhanho yekuitwa kwekuyedzwa kwemutoro. Zvitubu zvinoremerwa vamiririri vakaiswa mumadziva emumiririri akazvitsaurira eGitLab CI

mutoro
Kutanga Mumiririri Wemutoro
nechirongwa chebvunzo chakasarudzwa
uye load parameters
Mushandisi Sarudzo
yekutanga
load agent
Test plan
Chinangwa chekuedza
Execution logs
mutoro miedzo
System logs
Dynamics yekuchinja mune chinangwa metrics uye mutoro mumiririri

Run Agents
Agent Execution
mizhinji yebvunzo zvinyorwa
zvinoenderana ne
load profile
Load Agent Interaction
nechinangwa chekuedza
Test plan
Chinangwa chekuedza

Logs
Kuunganidzwa kwe "mbishi" matanda
panguva yekuyedzwa kwekutakura:
rekodhi agent chiitiko marekodhi,
mamiriro ebvunzo chinangwa
uye VM inomhanyisa mumiriri

Execution logs
mutoro miedzo
System logs

Metrics
Kuunganidza "mbishi" metrics panguva yekuyedzwa

Dynamics yekuchinja mune chinangwa metrics
uye load agent

Chirevo: nhanho yekugadzirira mushumo

Generator
Kugadziriswa kwaunganidzwa
loading system uye
monitoring system "raw"
metrics uye matanda
Kuumbwa kweshumo mu
chimiro chemunhu chinoverengwa
zvinogoneka nezvinhu
vaongorori
Execution logs
mutoro miedzo
System logs
Dynamics ekuchinja kwemetrics
chinangwa uye mutoro mumiririri
Yakagadzirwa "mbishi" matanda
muchimiro chakakodzera
kurodha kune kunze kwekuchengetedza
Static load report,
zvinoverengwa nevanhu

Publish
Kuburitswa kwemushumo
nezve mutoro
kuedza kunze
sevhisi
Yakagadzirwa "raw"
matanda mufomati yakakodzera
yekuburutsa kuenda kunze
repositories
Kuchengetwa kunze
mishumo yekuchengetedza pa
mutoro, wakakodzera
yekuongorora kwevanhu

Kubatanidza Mitoro Yekutakura muCI Template

Ngatienderere mberi kune chikamu chinoshanda. Ndinoda kuratidza kuti sei pane mamwe mapurojekiti mukambani Positive Technologies isu takashandisa pfungwa yekuyera mutoro sevhisi.

Kutanga, nerubatsiro rwevainjiniya vedu veDevOps, takagadzira dziva rakatsaurirwa revamiririri muGitLab CI kuti tiite bvunzo dzemutoro. Kuti tisavavhiringidze mumatemplate nevamwe, senge madziva egungano, takawedzera ma tag kune vamiririri ava, Tags: mutoro. Iwe unogona kushandisa chero mamwe ma tag anonzwisisika. Vanobvunza panguva yekunyoresa GitLab CI Vanomhanya.

Nzira yekuziva sei simba rinodiwa nehardware? Hunhu hwevanotakura zvinhu - nhamba yakakwana yevCPU, RAM uye Disk - inogona kuverengerwa zvichienderana nekuti Docker, Python (yeYandex.Tank), GitLab CI mumiriri, Java (yeApache JMeter) inofanirwa kunge ichimhanya pamumiririri. . YeJava pasi peJMeter, inokurudzirwawo kushandisa hushoma hwe512 MB ye RAM uye, semuganho wepamusoro, 80% inowanikwa ndangariro.

Saka, zvichibva pane zvakaitika kwatiri, tinokurudzira kushandisa kanenge 4 vCPUs, 4 GB RAM, 60 GB SSD yevanotakura zvinhu. Kubuda kwekadhi retiweki kunotemerwa zvichienderana nezvinodiwa zveprofile yekutakura.

Isu tinonyanya kushandisa maviri ekutakura zvinyorwa - Apache JMeter uye Yandex.Tank docker mifananidzo.

Yandex.Tank ndeye yakavhurika sosi chishandiso kubva kuYandex yekuyedza mitoro. Yayo modular architecture yakavakirwa paFantom's yakakwirira-inoshanda asynchronous hit-based HTTP chikumbiro jenareta. Iyo tangi ine yakavakirwa-mukati yekutarisa zviwanikwa zvevhavha iri pasi pekuyedzwa kuburikidza neSSH protocol, inogona kumisa bvunzo pasi pemamiriro akatarwa, inogona kuratidza mhedzisiro mune zvese mukoni uye muchimiro chegirafu, unogona kubatanidza mamodules ako. kwairi kuwedzera kushanda. Nenzira, takashandisa Tangi apo yakanga isati yava huru. Muchinyorwa "Yandex.Tank uye mutoro wekuedza otomatikiΒ»unogona kuverenga nyaya yekuti takaita sei kuyedzwa kwemutoro nayo muna 2013 PT Kushandisa Firewall chimwe chezvigadzirwa zvekambani yedu.

Apache JMeter ndeye yakavhurika sosi yekuyedza chishandiso kubva kuApache. Inogona kushandiswa zvakaenzana kuyedza zvese zviri zviviri static uye dynamic web applications. JMeter inotsigira huwandu hukuru hwemaprotocol uye nzira dzekudyidzana nemaapplication: HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, nezvimwewo), SIPO / REST Webservices, FTP, TCP, LDAP, SMTP(S), POP3( S) ) uye IMAP(S), dhatabhesi kuburikidza neJDBC, inogona kuita mirairo yegomba uye kushanda nezvinhu zveJava. JMeter ine IDE yekugadzira, kugadzirisa uye kuita bvunzo zvirongwa. Kune zvakare CLI yekuraira mutsara mashandiro pane chero Java inoenderana inoshanda sisitimu (Linux, Windows, Mac OS X). Chishandiso chinogona kuburitsa zvine simba HTML test report.

Kuti zvive nyore kushandisa mukati mekambani yedu, kuitira kugona kwevayedzi ivo pachavo kuchinja uye kuwedzera nharaunda, isu takagadzira madhizaini emifananidzo yezvinyorwa zvinotakura paGitLab CI nekudhindwa kune yemukati. docker registry paArtifactory. Izvi zvinoita kuti zvive nyore uye nyore kuzvibatanidza mumapaipi ekuyedzwa kwemutoro. Maitiro ekuita docker kusundira kune registry kuburikidza neGitLab CI - ona mirayiridzo.

Takatora iyi yakakosha docker faira yeYandex.Tank:

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

Uye yeApache JMeter iyi:

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

Unogona kuverenga kuti yedu inoenderera yekubatanidza system inoshanda sei muchinyorwa "Otomatiki maitiro ebudiriro: mashandisiro atakaita mazano eDevOps paPositive Technologies".

Template uye pipeline

Muenzaniso wetemplate yekuitisa bvunzo dzemutoro unowanikwa mupurojekiti demo load. The readme file Iwe unogona kuverenga mirairo yekushandisa template. Mune template pachayo (file .gitlab-ci.yml) pane zvinyorwa pamusoro pekuti nhanho imwe neimwe ine basa rei.

Iyo template iri nyore kwazvo uye inoratidza matanho matatu ekuedzwa kwemutoro anotsanangurwa mudhayagiramu iri pamusoro: kugadzirira, kuyedza, uye kuburitsa mishumo. Zvikonzero izvi Zvikamu: Gadzirira, Edzai uye Mharidzo.

  1. Chikamu Gadzirira inofanira kushandiswa kufanogadzirira bvunzo zvinangwa kana kutarisa kuwanikwa kwadzo. Iyo nharaunda yezvitubu zvemitoro haidi kugadziridzwa, inofanovakwa semifananidzo yedocker uye yakatumirwa mune docker registry: ingo tsanangura yaunoda vhezheni padanho reMuedzo. Asi iwe unogona kuvavaka patsva uye kugadzira yako yakagadziridzwa mifananidzo.
  2. Chikamu bvunzo rinoshandiswa kutsanangura kwainotakura, mhanyisa bvunzo, uye chitoro chekuyedza artifacts. Unogona kusarudza chero sosi yekutakura: Yandex.Tank, Apache JMeter, yako, kana zvese pamwe chete. Kudzima zvisina basa masosi, ingo taura kana kudzima basa racho. Mapoinzi ekupinda kune zvinotakura zvinhu:

    Ongorora: Iyo dhizaini yekumisikidza template inoshandiswa kumisikidza kudyidzana neCI system uye haireve kuiswa kwebvunzo logic mairi. Kune bvunzo, nzvimbo yekupinda inotsanangurwa, panowanikwa control bash script. Nzira yekumhanyisa bvunzo, kugadzira mishumo, uye zvinyorwa zvebvunzo pachazvo zvinofanirwa kuitwa nemainjiniya eQA. Mudemo, kune ese ari maviri ekutakura masosi, iyo Yandex main peji chikumbiro inoshandiswa seyeyedzo yakapusa. Zvinyorwa uye test parameters zviri mudhairekitori ./tests.

  3. Padariro ripoti iwe unofanirwa kutsanangura nzira yekushambadza mibairo yebvunzo yakawanikwa padanho reMuedzo kune ekunze storages, semuenzaniso, kuGitLab Mapeji kana akakosha ekubika masisitimu. GitLab Mapeji inoda kuti ./public dhairekitori rive risina chinhu uye rive neinenge index.html faira mushure mekunge bvunzo dzapera. Iwe unogona kuverenga nezve nuances yeGitLab Mapeji sevhisi. batanidzo.

    Mienzaniso yekutumira kunze data:

    Kuisa mirairo yekumisikidza:

Mumuenzaniso wedemo, pombi ine miyedzo yemutoro uye maviri emutoro masosi (unogona kudzima iyo isingakoshi) inoita seizvi:

Rodha yekuyedza sevhisi yeCI yevagadziri

Apache JMeter inogona kugadzira HTML report pachayo, saka zvine pundutso kuichengeta muGitLab Mapeji uchishandisa zvakajairwa maturusi. Aya ndiwo maitiro eApache JMeter chirevo chinotaridzika senge:

Rodha yekuyedza sevhisi yeCI yevagadziri

Mumuenzaniso wedemo weYandex.Tank, iwe uchaona chete fake text report muchikamu cheGitLab Mapeji. Panguva yekuyedza, Tangi inogona kuchengetedza mhedzisiro kuInfluxDB dhatabhesi, uye kubva ipapo inogona kuratidzwa, semuenzaniso, muGrafana (kugadziriswa kunoitwa mufaira. ./tests/example-yandextank-test.yml) Aya ndiwo maitiro aTank chirevo muGrafana:

Rodha yekuyedza sevhisi yeCI yevagadziri

Summary

Muchinyorwa chacho, ndakataura nezve pfungwa ye "kuyedzwa kwemutoro sevhisi" (kuyedzwa kwemutoro sevhisi). Pfungwa huru ndeyekushandisa magadzirirwo emadziva akagadzirirwa kare evamiririri vekutakura zvinhu, docker mifananidzo yezvinotakura zvinhu, masisitimu ekuzivisa uye pombi inozvibatanidza muGitLab CI zvichibva pane nyore .gitlab-ci.yml template (muenzaniso batanidzo) Zvese izvi zvinotsigirwa nechikwata chidiki cheautomation mainjiniya uye anodzokororwa pakukumbira kwezvikwata zvechigadzirwa. Ndinovimba izvi zvichakubatsira mukugadzirira nekushandisa chirongwa chakafanana mukambani yako. Ndinokutendai nekuteerera!

PS Ndinoda kutaura kuvonga kukuru kune vandinoshanda navo, Sergey Kurbanov naNikolai Yusev, nerubatsiro rwehunyanzvi nekushandiswa kweiyo pfungwa yekuyera mitoro sebasa mukambani yedu.

Munyori: Timur Gilmullin - Mutevedzeri Musoro weTekinoroji uye Mafambiro Ekuvandudza (DevOps) paPositive Technologies

Source: www.habr.com

Voeg