Hogyan adunk ki szoftverjavításokat a GitLabban

Hogyan adunk ki szoftverjavításokat a GitLabban

A GitLabnál kétféle módon dolgozzuk fel a szoftverjavításokat: manuálisan és automatikusan. Olvasson tovább, ha többet szeretne megtudni a kiadáskezelő munkájáról, amellyel fontos frissítéseket hoz létre és szállít a gitlab.com automatikus telepítésén keresztül, valamint a felhasználók számára a saját telepítéseik során használható javításokat.

Azt javaslom, állítson be egy emlékeztetőt az okosóráján: minden hónap 22-én a GitLab szolgáltatással dolgozó felhasználók láthatják termékünk aktuális verziójának frissítéseit. A havi kiadás új funkciókat, a meglévők fejlesztéseit tartalmazza, és gyakran megmutatja a közösségi eszközökre vagy egyesítésekre vonatkozó kérések végeredményét.

De amint azt a gyakorlat mutatja, a szoftverfejlesztés ritkán hibamentes. Ha hibát vagy biztonsági rést fedeznek fel, a kézbesítési csapat kiadáskezelője javítást hoz létre felhasználóinknak a telepítéseikkel együtt. A Gitlab.com a CD-feldolgozás során frissül. Ezt a CD-folyamatot automatikus telepítésnek nevezzük, hogy elkerüljük a GitLab CD-funkciójával való összetéveszthetőséget. Ez a folyamat magában foglalhatja a felhasználók, ügyfelek és belső fejlesztői csapatunk által benyújtott lekérési kérelmek javaslatait, így a javítások kiadásának unalmas problémájának megoldása két nagyon különböző módon történik.

«Gondoskodunk arról, hogy a fejlesztők által készített termékek minden nap minden környezetben üzembe kerüljenek, mielőtt közzéteszik a GitLab.com-on.", magyarázza Marin Jankovki, műszaki vezető, infrastruktúra osztály. "Tekintse meg a telepítéseihez tartozó kiadásokat a gitlab.com-telepítések pillanatképeinek, amelyekhez külön lépéseket adtunk a csomag létrehozásához, hogy a felhasználók telepíthessék azt a telepítéseikre.".

A hibától vagy a sérülékenységtől függetlenül a gitlab.com ügyfelei röviddel a közzététel után megkapják a javításokat, ami az automatizált CD-folyamat egyik előnye. A saját telepítéssel rendelkező felhasználók javításai külön előkészítést igényelnek a kiadáskezelőtől.

A kézbesítő csapat keményen dolgozik a csökkentendő kiadások létrehozásával kapcsolatos legtöbb folyamat automatizálásán MTTP (a gyártásig eltöltött átlagos idő, azaz a gyártásra fordított idő), az az időtartam, amely a fejlesztői összevonási kérelem feldolgozásától a gitlab.com webhelyen történő üzembe helyezésig eltelt.

«A szállítócsapat célja, hogy cégként gyorsabban tudjunk haladni, vagy legalább gyorsabban dolgozhassanak a kézbesítők, igaz?, mondja Marin.

A gitlab.com ügyfelei és telepítéseik felhasználói egyaránt profitálnak a kézbesítő csapat azon erőfeszítéseiből, hogy csökkentsék a ciklusidőket és felgyorsítsák a telepítéseket. Ebben a cikkben elmagyarázzuk a két módszer közötti hasonlóságokat és különbségeket. problémák, és azt is leírjuk, hogy kézbesítő csapatunk hogyan készíti elő a javításokat a létesítményeiken dolgozó felhasználók számára, valamint hogyan biztosítjuk, hogy a gitlab.com naprakész legyen az automatikus telepítéssel.

Mit csinál egy kiadáskezelő?

A csapat tagjai havonta átadja a kiadásmenedzser szerepét a felhasználóknak a létesítményeiken kiadott kiadásaink, beleértve a javításokat és a biztonsági kiadásokat, amelyek a kiadások között előfordulhatnak. Ők felelősek a vállalat automatizált, folyamatos telepítésre való átállásának irányításáért is.

Az öntelepítő kiadások és a gitlab.com kiadások hasonló munkafolyamatokat használnak, de eltérő időpontokban futnak – magyarázza Marin.

A kiadásmenedzser mindenekelőtt a kiadás típusától függetlenül biztosítja, hogy a GitLab elérhető és biztonságos legyen attól a pillanattól kezdve, amikor az alkalmazás elindul a gitlab.com webhelyen, beleértve azt is, hogy ugyanazok a problémák ne kerüljenek az ügyfelek infrastruktúrájába. saját kapacitások.

Ha egy hibát vagy sebezhetőséget javítva jelöltek meg a GitLab-ban, a kiadáskezelőnek értékelnie kell, hogy az belekerül-e a javításokba vagy biztonsági frissítésekbe a felhasználók telepítései során. Ha úgy dönt, hogy egy hiba vagy sérülékenység frissítést érdemel, megkezdődik az előkészítő munka.

A kiadáskezelőnek el kell döntenie, hogy készít-e javítást, vagy mikor telepíti azt – és ez nagymértékben függ a helyzet kontextusától,addig a gépek nem olyan jók a kontextus kezelésében, mint az emberek– mondja Marin.

Minden a javításokról szól

Mik azok a javítások és miért van szükségünk rájuk?

A kiadásmenedzser a hiba súlyossága alapján dönti el, hogy kiadja-e a javítást.

A hibák súlyosságuktól függően változnak. Tehát az S4 vagy S3 hibák stilisztikaiak lehetnek, például pixel- vagy ikoneltolódás. Ez nem kevésbé fontos, de nincs jelentős hatással senki munkafolyamatára, ami azt jelenti, hogy kicsi annak a valószínűsége, hogy az ilyen S3 vagy S4 hibákra javítás készül – magyarázza Marin.

Az S1 vagy S2 biztonsági rések azonban azt jelentik, hogy a felhasználónak nem szabad a legújabb verzióra frissítenie, vagy jelentős hiba van, amely hatással van a felhasználó munkafolyamatára. Ha szerepelnek a nyomkövetőben, sok felhasználó találkozott velük, így a kiadáskezelő azonnal megkezdi a javítás előkészítését.

Miután elkészült az S1 vagy S2 biztonsági rések javítása, a kiadáskezelő megkezdi a javítás kiadását.

Például a GitLab 12.10.1 javítást azután hozták létre, hogy több blokkoló problémát azonosítottak, és a fejlesztők kijavították az ezeket okozó mögöttes problémát. A Release Manager felmérte a hozzárendelt súlyossági szintek helyességét, majd megerősítést követően elindult a javítás kiadásának folyamata, amely a blokkolási problémák felfedezése után XNUMX órán belül elkészült.

Ha sok S4, S3 és S2 halmozódik fel, a kiadáskezelő a kontextust vizsgálja, hogy meghatározza a javítás kiadásának sürgősségét, és amikor elér egy bizonyos számot, akkor mindegyiket egyesíti és felszabadítja. A kiadás utáni javításokat vagy biztonsági frissítéseket a blogbejegyzések foglalják össze.

Hogyan hoz létre javításokat a kiadáskezelő

A javítások generálásához GitLab CI-t és más funkciókat, például a ChatOps-ot használjuk. A kiadáskezelő elindítja a javítás kiadását a ChatOps csapatának belső csatornánkon történő aktiválásával #releases a Slackben.

/chatops run release prepare 12.10.1

A ChatOps a Slacken belül működik, hogy különböző eseményeket indítson el, amelyeket aztán a GitLab dolgoz fel és hajt végre. Például a kézbesítő csapat úgy állította be a ChatOps-ot, hogy automatizálja a javítások kiadását.

Miután a kiadáskezelő elindítja a ChatOps csapatot a Slackben, a munka többi része automatikusan megtörténik a GitLabban a CICD használatával. Kétirányú kommunikáció van a Slack ChatOps és a GitLab között a kiadási folyamat során, mivel a kiadáskezelő aktiválja a folyamat néhány fő lépését.

Az alábbi videó a GitLab javításának technikai folyamatát mutatja be.

Hogyan működik az automatikus telepítés a gitlab.com webhelyen

A gitlab.com frissítéséhez használt folyamat és eszközök hasonlóak a javítások létrehozásához használtakhoz. A gitlab.com frissítése kevesebb kézi munkát igényel a kiadáskezelő szemszögéből.

Ahelyett, hogy a ChatOps segítségével futtatnánk a telepítéseket, CI funkciókat használunk, pl. ütemezett csővezetékek, amellyel a kiadáskezelő ütemezhet bizonyos műveleteket a kívánt időpontban végrehajtandó végrehajtásra. A manuális folyamat helyett van egy óránként rendszeresen lefutó folyamat, amely letölti a GitLab projekteken végrehajtott új módosításokat, csomagolja azokat és ütemezi a telepítést, valamint automatikusan lefutja a tesztelést, a minőségbiztosítást és az egyéb szükséges lépéseket.

„Tehát a gitlab.com előtt sok telepítés fut különböző környezetekben, és miután ezek a környezetek jó állapotban vannak, és a tesztelés jó eredményeket mutat, a kiadáskezelő elindítja a gitlab.com telepítési műveleteit” – mondja Marin.

A gitlab.com frissítéseit támogató CICD technológia automatizálja a teljes folyamatot addig a pontig, amikor a kiadáskezelőnek manuálisan kell elindítania az éles környezet telepítését a gitlab.com webhelyen.

Marin az alábbi videóban részletezi a gitlab.com frissítési folyamatát.

Mit csinál még a kézbesítő csapat?

A fő különbség a gitlab.com frissítési folyamatai és a javítások házon belüli kiadása között az, hogy az utóbbi folyamat több időt és több kézi munkát igényel a kiadáskezelőtől.

„Néha késleltetjük a javítások kiadását az ügyfeleknek a telepítéssel együtt a bejelentett problémák és a szerszámmal kapcsolatos problémák miatt, valamint azért, mert számos árnyalatot kell figyelembe venni egyetlen javítás kiadásakor” – mondja Marin.

A kézbesítő csapat egyik rövid távú célja, hogy csökkentse a kiadáskezelő manuális munkáját a kiadás felgyorsítása érdekében. A csapat azon dolgozik, hogy egyszerűsítse, racionalizálja és automatizálja a kiadási folyamatot, ami segít az alacsony súlyosságú problémák (S3 és S4, kb. fordító). A sebességre való összpontosítás kulcsfontosságú teljesítménymutató: le kell csökkenteni az MTTP-t - az egyesítési kérelem beérkezésétől az eredmény gitlab.com-on történő telepítéséig eltelt időt - a jelenlegi 50 óráról 8 órára.

A kézbesítő csapat a gitlab.com webhely Kubernetes-alapú infrastruktúrára való áttelepítésén is dolgozik.

A szerkesztő n.b.: Ha már hallott a Kubernetes technológiáról (és nem kétlem, hogy hallott), de még nem érintette meg a kezével, javaslom, hogy vegyen részt online intenzív tanfolyamokon Kubernetes bázis, amely szeptember 28-30 között kerül megrendezésre, ill Kubernetes Mega, amelyre október 14–16. Ez lehetővé teszi, hogy magabiztosan navigáljon és dolgozzon a technológiával.

Ez a két megközelítés ugyanazt a célt követi: a frissítések gyors kézbesítése mind a gitlab.com, mind a létesítményeikben lévő ügyfelek számára.

Valami ötlet vagy javaslat a számunkra?

Mindenkit szeretettel várunk, hogy hozzájáruljon a GitLabhoz, és szívesen fogadjuk olvasóink visszajelzéseit. Ha bármilyen ötlete van a szállító csapatunkkal kapcsolatban, ne habozzon kérést hozzon létre értesítéssel team: Delivery.

Forrás: will.com

Hozzászólás