
GitLabis töötleme tarkvaraparandusi kahel viisil: kÀsitsi ja automaatselt. Lugege edasi, et saada teavet vÀljalaskehalduri töö kohta oluliste vÀrskenduste loomisel ja edastamisel saidile gitlab.com automaatse juurutamise kaudu, samuti paikade kohta, millega kasutajad saavad oma installides töötada.
Soovitan seadistada nutikellale meeldetuletus: iga kuu 22. kuupÀeval nÀevad GitLabiga töötavad kasutajad meie toote praeguse versiooni vÀrskendusi. Igakuine vÀljalase sisaldab uusi funktsioone, olemasolevate arendusi ja sageli kuvatakse kogukonna tööriistade vÔi liitmiste taotluste lÔpptulemus.
Kuid nagu praktika nÀitab, on tarkvaraarendus harva vigadeta. Kui avastatakse viga vÔi turvaauku, loob tarnemeeskonna vÀljalaskehaldur meie kasutajatele nende installidega paiga. Gitlab.com-i vÀrskendatakse CD-protsessi ajal. Nimetame seda CD-protsessi automaatseks juurutamiseks, et vÀltida segadust GitLabi CD-funktsiooniga. See protsess vÔib hÔlmata kasutajate, klientide ja meie sisemise arendusmeeskonna esitatud tÔmbetaotluste soovitusi, nii et igav plaastrite vabastamise probleem lahendatakse kahel vÀga erineval viisil.
«Tagame, et kÔike, mida arendajad loovad, juurutatakse iga pÀev kÔikides keskkondades enne selle GitLab.com-i avaldamist", selgitab , infrastruktuuriosakonna vanemtehniline juht. "MÔelge oma installide vÀljalasetele kui gitlab.com-i juurutuste hetktÔmmistele, mille jaoks oleme lisanud paketi loomiseks eraldi sammud, et meie kasutajad saaksid seda kasutada oma installidesse installimiseks'.
Olenemata veast vÔi haavatavusest saavad gitlab.com-i kliendid parandused varsti pÀrast nende avaldamist, mis on automaatse CD-protsessi eelis. Oma installitud kasutajate paigad nÔuavad vÀljalaskehalduri eraldi ettevalmistamist.
Edastusmeeskond teeb kĂ”vasti tööd, et automatiseerida enamikku vĂ€ljalaske loomise protsessidest, mida vĂ€hendada (keskmine aeg tootmiseni, st tootmisele kulutatud aeg), ajavahemik alates ĂŒhendamistaotluse töötlemisest arendaja poolt kuni juurutamiseni saidil gitlab.com.
«Tarnemeeskonna eesmĂ€rk on tagada, et saaksime ettevĂ”ttena kiiremini edasi liikuda vĂ”i vĂ€hemalt tarnijad kiiremini tööle panna, eks?, ĂŒtleb Marin.
Nii gitlab.com-i kliendid kui ka nende installide kasutajad saavad kasu tarnemeeskonna pingutustest tsĂŒkliaegade vĂ€hendamisel ja juurutamise kiirendamisel. Selles artiklis selgitame nende kahe meetodi sarnasusi ja erinevusi. , ning kirjeldame ka seda, kuidas meie kohaletoimetamismeeskond valmistab ette paigad nende rajatistes töötavatele kasutajatele ning kuidas tagame, et gitlab.com on automatiseeritud juurutuse abil ajakohane.
Mida vÀljalaskehaldur teeb?
Meeskonnaliikmed igakuiselt meie vĂ€ljalasked kasutajatele nende rajatistes, sealhulgas paigad ja turbevĂ€ljaanded, mis vĂ”ivad vĂ€ljalaske vahel esineda. Nad vastutavad ka ettevĂ”tte automatiseeritud pidevale kasutuselevĂ”tule ĂŒlemineku juhtimise eest.
Marin selgitab, et iseinstallivad versioonid ja gitlab.com-i versioonid kasutavad sarnaseid töövooge, kuid töötavad erinevatel aegadel.
EelkĂ”ige tagab vĂ€ljalaskehaldur, olenemata vĂ€ljalaske tĂŒĂŒbist, selle, et GitLab on saadaval ja turvaline alates rakenduse kĂ€ivitamisest saidil gitlab.com, sealhulgas tagab, et samad probleemid ei satuks nende klientide infrastruktuuri. enda vĂ”imsused.
Kui viga vÔi haavatavus on GitLabis parandatuks mÀrgitud, peab vÀljalaskehaldur hindama, kas see kaasatakse kasutajate installimiste paikadesse vÔi turvavÀrskendustesse. Kui ta otsustab, et viga vÔi haavatavus vÀÀrib vÀrskendamist, algab ettevalmistustöö.
VĂ€ljalaskehaldur peab otsustama, kas valmistada ette parandus vĂ”i millal see juurutada â ja see sĂ”ltub suuresti olukorra kontekstist,vahepeal ei oska masinad nii hĂ€sti konteksti juhtida kui inimesed"ĂŒtleb Marin.
See kÔik puudutab parandusi
Mis on plaastrid ja miks me neid vajame?
VÀljalaskehaldur otsustab vea tÔsiduse pÔhjal, kas vÀljastada paranduse.
Vead sÔltuvad nende tÔsidusest. Seega vÔivad S4 vÔi S3 vead olla stilistilised, nÀiteks pikslite vÔi ikoonide nihkumine. See pole vÀhem oluline, kuid see ei mÔjuta oluliselt kellegi töövoogu, mis tÀhendab, et tÔenÀosus, et sellistele S3 vÔi S4 vigadele parandus luuakse, on vÀike, selgitab Marin.
Turvaaugud S1 vÔi S2 tÀhendavad aga seda, et kasutaja ei tohiks uusimale versioonile vÀrskendada vÔi on mÀrkimisvÀÀrne viga, mis mÔjutab kasutaja töövoogu. Kui need on jÀlgijasse kaasatud, on paljud kasutajad nendega kokku puutunud, nii et vÀljalaskehaldur alustab kohe paranduse ettevalmistamist.
Kui haavatavuste S1 vÔi S2 plaaster on valmis, alustab vÀljalaskehaldur plaastri vabastamist.
NÀiteks GitLabi 12.10.1 plaaster loodi pÀrast seda, kui tuvastati mitu blokeerimisprobleemi ja arendajad lahendasid neid pÔhjustanud probleemi. VÀljalaskehaldur hindas mÀÀratud raskusastmete Ôigsust ja pÀrast kinnitamist kÀivitati paranduse vabastamise protsess, mis oli valmis XNUMX tunni jooksul pÀrast blokeerimisprobleemide avastamist.
Kui koguneb palju S4, S3 ja S2, vaatab vĂ€ljalaskehaldur konteksti, et teha kindlaks paranduse avaldamise kiireloomulisus, ning kui teatud arv neist on saavutatud, ĂŒhendatakse need kĂ”ik kokku ja vabastatakse. VĂ€ljalaskejĂ€rgsed parandused vĂ”i turvavĂ€rskendused on kokku vĂ”etud ajaveebi postitustes.
Kuidas vÀljalaskehaldur plaastreid loob
Kasutame plaastrite loomiseks GitLab CI-d ja muid funktsioone, nagu meie ChatOps. VÀljalaskehaldur alustab paranduse vÀljaandmist, aktiveerides meie sisekanalil ChatOpsi meeskonna #releases Slackis.
/chatops run release prepare 12.10.1ChatOps töötab Slackis erinevate sĂŒndmuste kĂ€ivitamiseks, mida GitLab seejĂ€rel töötleb ja kĂ€ivitab. NĂ€iteks seadistas kohaletoimetamise meeskond ChatOpsi, et automatiseerida mitmesuguseid asju plaastrite vabastamiseks.
Kui vĂ€ljalaskehaldur kĂ€ivitab ChatOpsi meeskonna Slackis, toimub ĂŒlejÀÀnud töö automaatselt GitLabis, kasutades CICD-d. VĂ€ljalaskeprotsessi ajal on Slacki ChatOpsi ja GitLabi vahel kahesuunaline suhtlus, kuna vĂ€ljalaskehaldur aktiveerib protsessi mĂ”ned peamised etapid.
Allolev video nÀitab GitLabi plaastri ettevalmistamise tehnilist protsessi.

Kuidas automaatne juurutamine veebisaidil gitlab.com töötab
Gitlab.com-i vÀrskendamiseks kasutatud protsess ja tööriistad on sarnased paikade loomisel kasutatavatega. Gitlab.com-i vÀrskendamine nÔuab vÀljalaskehalduri seisukohast vÀhem kÀsitsitööd.
Selle asemel, et kÀivitada juurutusi ChatOpsi abil, kasutame CI funktsioone nt. , millega vÀljalaskehaldur saab ajastada teatud toiminguid vajalikul ajal sooritamiseks. Manuaalse protsessi asemel on perioodiliselt kord tunnis jooksev konveier, mis laadib alla GitLabi projektidesse tehtud uued muudatused, pakib need ja ajastab juurutamise ning kÀivitab automaatselt testimise, kvaliteedikontrolli ja muud vajalikud sammud.
"Nii et meil on enne gitlab.com-i erinevates keskkondades palju juurutusi ja pĂ€rast seda, kui need keskkonnad on heas korras ja testimine nĂ€itab hĂ€id tulemusi, alustab vĂ€ljalaskehaldur gitlab.com-i juurutustoiminguid," ĂŒtleb Marin.
CICD-tehnoloogia gitlab.com-i vÀrskenduste toetamiseks automatiseerib kogu protsessi kuni punktini, kus vÀljalaskehaldur peab kÀsitsi kÀivitama tootmiskeskkonna juurutamise saidile gitlab.com.
Marin rÀÀgib allolevas videos ĂŒksikasjalikult gitlab.com-i vĂ€rskendusprotsessist.

Mida tarnemeeskond veel teeb?
Peamine erinevus gitlab.com-i vÀrskendusprotsesside ja klientidele ettevÔttesiseselt plaastrite vÀljastamise vahel seisneb selles, et viimane protsess nÔuab vÀljalaskehaldurilt rohkem aega ja kÀsitsitööd.
"MĂ”nikord lĂŒkkame plaastrite vĂ€ljastamist klientidele koos nende installidega edasi teatatud probleemide ja tööriistaprobleemide tĂ”ttu ning seetĂ”ttu, et ĂŒhe plaastri vĂ€ljastamisel tuleb arvestada paljude nĂŒanssidega," ĂŒtleb Marin.
Ăks tarnemeeskonna lĂŒhiajalisi eesmĂ€rke on vabastamise kiirendamiseks vĂ€hendada vĂ€ljalaskehalduri kĂ€sitsitööd. Meeskond töötab vĂ€ljalaskeprotsessi lihtsustamise, sujuvamaks muutmise ja automatiseerimise nimel, mis aitab leida lahendusi madala raskusastmega probleemidele (S3 ja S4, u. tĂ”lkija). Kiirusele keskendumine on peamine jĂ”udlusnĂ€itaja: on vaja vĂ€hendada MTTP-d - aega, mis kulub liitmistaotluse saamisest kuni tulemuse juurutamiseni saidile gitlab.com - praeguselt 50 tunnilt 8 tunnile.
Tarnemeeskond tegeleb ka saidi gitlab.com migreerimisega Kubernetese-pÔhisele infrastruktuurile.
Toimetaja nr.: Kui olete Kubernetese tehnoloogiast juba kuulnud (ja ma ei kahtle, et olete), kuid pole seda veel kĂ€ega puudutanud, soovitan osaleda veebipĂ”histel intensiivkursustel , mis toimub 28-30 september ja , mis toimub 14.â16. See vĂ”imaldab teil enesekindlalt navigeerida ja tehnoloogiaga töötada.
Need on kaks lÀhenemisviisi, millel on sama eesmÀrk: vÀrskenduste kiire kohaletoimetamine nii saidile gitlab.com kui ka klientidele nende rajatistes.
Kas teil on meile ideid vÔi soovitusi?
KÔik on teretulnud GitLabi panustama ja ootame oma lugejate tagasisidet. Kui teil on ideid meie kohaletoimetamismeeskonna jaoks, Àrge kÔhelge teatega team: Delivery.
Allikas: www.habr.com
