GitLab-en software-adabakiak nola askatzen ditugun

GitLab-en software-adabakiak nola askatzen ditugun

GitLab-en bi modutan prozesatzen ditugu software-konponketak: eskuz eta automatikoki. Irakurri bertsio-kudeatzaileak gitlab.com-en inplementazio automatizatuaren bidez eguneratze garrantzitsuak sortu eta emateko duen lana ezagutzeko, baita erabiltzaileek beren instalazioetan lan egiteko adabakiak ere.

Zure erloju adimendunean abisua ezartzea gomendatzen dut: hilero, hilaren 22an, GitLab-ekin lan egiten duten erabiltzaileek gure produktuaren uneko bertsioaren eguneraketak ikus ditzakete beren instalazioetan. Hileroko bertsioak ezaugarri berriak, lehendik daudenen garapenak ditu, eta sarritan komunitateko tresnen edo bategiteen eskaeren azken emaitza erakusten du.

Baina, praktikak erakusten duenez, softwarearen garapena oso gutxitan izaten da akatsik gabe. Akats bat edo segurtasun ahultasun bat aurkitzen denean, bidalketa taldeko bertsio-kudeatzaileak konponketa bat sortzen du gure erabiltzaileentzat instalazioekin. Gitlab.com CD prozesuan eguneratzen da. CD prozesu honi inplementazio automatikoa deitzen diogu GitLab-eko CD funtzioarekin nahasketa saihesteko. Prozesu honek erabiltzaileek, bezeroek eta gure barne garapen-taldeak bidalitako pull-eskaeren iradokizunak txerta ditzake, beraz, adabakiak askatzeko arazo aspergarria konpontzen da bi modu oso ezberdinetan.

Β«Garatzaileek egiten duten guztia ingurune guztietan zabaltzen dela ziurtatzen dugu, GitLab.com-era zabaldu aurretik.", azaltzen du Marin Jankovki, Goi Mailako Zuzendari Teknikoa, Azpiegitura Saila. "Pentsa zure instalazioetarako bertsioak gitlab.com inplementazioetarako argazki gisa, eta horretarako pauso bereiziak gehitu ditugu pakete bat sortzeko, gure erabiltzaileek beren instalazioetan instalatzeko erabil dezaten.'.

Akatsa edo ahultasuna edozein izanda ere, gitlab.com-eko bezeroek argitaratu eta gutxira jasoko dituzte konponketak, hau da, CD automatizatuaren prozesuaren onura. Beren instalazioak dituzten erabiltzaileentzako adabakiak bertsio-kudeatzaileak aparte prestatzea eskatzen du.

Bidalketa taldea gogor ari da lanean murrizteko bertsioak sortzean parte hartzen duten prozesu gehienak automatizatzeko MTTP (produkziorako denbora batez bestekoa, hau da, ekoizpenean emandako denbora), garatzaile batek bateratze-eskaera prozesatzen duenetik gitlab.com-en inplementatzen den arte.

Β«Entrega-taldearen helburua da enpresa gisa azkarrago mugi gaitezkeela ziurtatzea edo, gutxienez, bidaltzaileak azkarrago lan egitea, egia.?, dio Marin.

Bai gitlab.com-eko bezeroek, bai beren instalazioetako erabiltzaileek, bidalketa-taldeak ziklo-denborak murrizteko eta inplementazioak bizkortzeko egindako ahaleginetatik etekina ateratzen dute. Artikulu honetan bi metodo horien arteko antzekotasunak eta desberdintasunak azalduko ditugu. gaiak, eta gure bidalketa taldeak beren instalazioetan lan egiten duten erabiltzaileentzako adabakiak nola prestatzen dituen deskribatuko dugu, baita nola ziurtatzen dugun gitlab.com inplementazio automatizatua erabiliz eguneratuta dagoela.

Zer egiten du kaleratze-kudeatzaileak?

Taldekideak hilero kaleratze-kudeatzailearen rola transferitu gure oharra erabiltzaileei beren instalazioetan, bertsioen artean gerta daitezkeen adabakiak eta segurtasun-argitalpenak barne. Gainera, konpainiaren inplementazio automatizatu eta etengaberako trantsizioa zuzentzeaz arduratzen dira.

Autoinstalazioko bertsioek eta gitlab.com-eko bertsioek antzeko lan-fluxuak erabiltzen dituzte, baina une ezberdinetan exekutatzen dira, Marinek azaldu duenez.

Lehenik eta behin, bertsio-kudeatzaileak, bertsio mota edozein dela ere, GitLab erabilgarri eta seguru dagoela ziurtatzen du aplikazioa gitlab.com webgunean abiarazten den unetik, besteak beste, arazo berdinak bezeroen azpiegituran amaitzen ez direla ziurtatuz. gaitasun propioak.

Akats edo ahultasun bat GitLab-en konponduta markatuta dagoenean, bertsio-kudeatzaileak ebaluatu behar du adabaki edo segurtasun-eguneratzeetan sartuko dela beren instalazioak dituzten erabiltzaileentzat. Akats edo ahultasun batek eguneratzea merezi duela erabakitzen badu, prestaketa lanak hasten dira.

Kaleratze-kudeatzaileak erabaki behar du konponketa bat prestatu ala noiz zabaldu, eta hori egoeraren testuinguruaren menpe dago".bitartean, makinak ez dira pertsonak bezain onak testuingurua kudeatzen", dio Marin.

Konponketei buruzkoa da guztia

Zer dira adabakiak eta zergatik behar ditugu?

Kaleratze-kudeatzaileak erabakitzen du konponketa bat askatu ala ez akatsaren larritasunaren arabera.

Akatsak larritasunaren arabera aldatzen dira. Beraz, S4 edo S3 akatsak estilistikoak izan daitezke, hala nola pixel edo ikonoen lekualdaketa. Hau ez da gutxiagorako, baina ez dago eragin handirik inoren lan-fluxuan, eta horrek esan nahi du S3 edo S4 akatsetarako konponketa bat sortzeko probabilitatea txikia dela, azaldu du Marin.

Hala ere, S1 edo S2 ahultasunek esan nahi dute erabiltzaileak ez duela azken bertsiora eguneratu behar, edo erabiltzailearen lan-fluxuari eragiten dion akats nabarmen bat dagoela. Jarraitzailean sartzen badira, erabiltzaile askok topatu dituzte, beraz, kaleratze-kudeatzailea berehala hasten da konponketa bat prestatzen.

S1 edo S2 ahultasunen adabaki bat prest dagoenean, kaleratze-kudeatzailea adabakia askatzen hasten da.

Adibidez, GitLab 12.10.1 adabakia hainbat blokeo-arazo identifikatu ostean sortu zen eta garatzaileek horiek eragiten zituen azpiko arazoa konpondu zuten. Oharra kudeatzaileak esleitutako larritasun-mailen zuzentasuna ebaluatu zuen, eta berretsi ondoren, konponketa bat askatzeko prozesua abiarazi zen, blokeo-arazoak aurkitu zirenetik XNUMX orduko epean prest zegoen.

S4, S3 eta S2 asko pilatzen direnean, bertsio-kudeatzaileak testuingurua aztertzen du konponketa bat askatzeko premiazkoa den zehazteko, eta horietako kopuru jakin batera iristen denean, guztiak konbinatu eta askatu egiten dira. Argitalpenaren ondorengo konponketak edo segurtasun-eguneratzeak blogeko argitalpenetan laburbiltzen dira.

Argitalpen-kudeatzaile batek adabakiak nola sortzen dituen

GitLab CI eta gure ChatOps bezalako beste ezaugarri batzuk erabiltzen ditugu adabakiak sortzeko. Oharra kudeatzaileak konponketaren kaleratzeari hasiera ematen dio ChatOps taldea gure barneko kanalean aktibatuz #releases Slack-en.

/chatops run release prepare 12.10.1

ChatOps-ek Slack-en funtzionatzen du gertaera desberdinak abiarazteko, gero GitLab-ek prozesatu eta exekutatzen dituena. Adibidez, entrega-taldeak ChatOps konfiguratu zuen adabakiak askatzeko hainbat gauza automatizatzeko.

Askapenaren kudeatzaileak ChatOps taldea Slack-en hasten duenean, gainerako lana GitLab-en automatikoki gertatzen da CICD erabiliz. Slack-en eta GitLab-en ChatOps-en bi norabideko komunikazioa dago kaleratze-prozesuan, bertsio-kudeatzaileak prozesuaren urrats nagusietako batzuk aktibatzen baititu.

Beheko bideoak GitLab-erako adabaki bat prestatzeko prozesu teknikoa erakusten du.

Nola funtzionatzen duen hedapen automatikoak gitlab.com webgunean

Gitlab.com eguneratzeko erabiltzen diren prozesua eta tresnak adabakiak sortzeko erabiltzen direnen antzekoak dira. Gitlab.com eguneratzeak eskuzko lan gutxiago eskatzen du bertsio-kudeatzailearen ikuspuntutik.

ChatOps erabiliz inplementazioak exekutatu beharrean, CI funtzioak erabiltzen ditugu, adibidez. programatutako hodiak, zeinekin kaleratze-kudeatzaileak behar den unean egin beharreko zenbait ekintza programatu ditzake. Eskuzko prozesu baten ordez, aldian behin exekutatzen den kanalizazio bat dago GitLab proiektuetan egindako aldaketa berriak deskargatzen dituena, paketatu eta inplementazioa programatzen duena eta automatikoki probak, QA eta beharrezko beste urrats batzuk exekutatzen dituena.

"Beraz, inplementazio asko ditugu gitlab.com-en aurretik ingurune ezberdinetan exekutatzen, eta ingurune horiek sasoi onean egon ondoren eta probek emaitza onak erakutsi ondoren, kaleratze-kudeatzaileak gitlab.com inplementazio-ekintzak hasten ditu", dio Marin.

Gitlab.com eguneraketak onartzen dituen CICD teknologiak prozesu osoa automatizatzen du, bertsio-kudeatzaileak eskuz abiarazi behar duen produkzio-ingurunearen hedapena gitlab.com-era.

Marin gitlab.com eguneratze prozesuari buruzko xehetasunak azaltzen ditu beheko bideoan.

Zer gehiago egiten du entrega taldeak?

Gitlab.com eguneratze prozesuen eta bezeroei barne-adabakiak askatzearen arteko desberdintasun nagusia da azken prozesu honek denbora gehiago eta eskuzko lan gehiago eskatzen duela kaleratze-kudeatzaileak.

"Batzuetan atzeratzen dugu bezeroei adabakiak kaleratzea beren instalazioekin jakinarazitako arazoengatik, tresneriaren arazoengatik eta Γ±abardura asko daudelako kontuan hartu beharreko adabaki bakarra askatzeko", dio Marin.

Entrega-taldearen epe laburreko helburuetako bat kaleratze-kudeatzailearen eskuzko lana murriztea da oharra bizkortzeko. Taldea kaleratze-prozesua sinplifikatzeko, arintzeko eta automatizatzeko lanean ari da, eta horrek larritasun txikiko arazoen konponketak lortzen lagunduko du (S3 eta S4, gutxi gorabehera. itzultzailea). Abiaduran zentratzea funtsezko errendimendu-adierazle bat da: beharrezkoa da MTTP - bateratze-eskaera jasotzen denetik emaitza gitlab.com-era zabaltzen duen denbora- murriztea uneko 50 orduetatik 8 ordura.

Bidalketa taldea gitlab.com Kubernetes-en oinarritutako azpiegitura batera migratzen ere lanean ari da.

Editorearen NB: Kubernetes teknologiari buruz dagoeneko entzun baduzu (eta ez daukat dudarik izan duzula), baina oraindik eskuekin ukitu ez baduzu, lineako ikastaro trinkoetan parte hartzea gomendatzen dizut. Kubernetes Base, irailaren 28tik 30era egingo dena, eta Kubernetes Mega, urriaren 14tik 16ra egingo dena. Horrek konfiantzaz nabigatzeko eta teknologiarekin lan egiteko aukera emango dizu.

Helburu bera bilatzen duten bi ikuspegi dira: eguneratzeak bizkor bidaltzea, bai gitlab.comentzat, bai beren instalazioetako bezeroentzat.

Guretzat ideia edo gomendiorik?

Guztiak gonbidatuta daude GitLab-en ekarpenak egitera, eta gure irakurleen iritziak ongi etorriak ditugu. Gure bidalketa taldearentzat ideiarik baduzu, ez izan zalantzarik eskaera bat sortu abisuarekin team: Delivery.

Iturria: www.habr.com

Gehitu iruzkin berria