Ki jan nou pibliye patch lojisyèl nan GitLab

Ki jan nou pibliye patch lojisyèl nan GitLab

Nan GitLab, nou trete ranje lojisyèl nan de fason: manyèlman ak otomatikman. Li kontinye pou w aprann sou travay manadjè lage a nan kreye ak livrezon mizajou enpòtan atravè deplwaman otomatik sou gitlab.com, ansanm ak plak pou itilizatè yo travay avèk yo sou pwòp enstalasyon yo.

Mwen rekòmande pou mete yon rapèl sou smartwatch ou a: chak mwa sou 22yèm lan, itilizatè k ap travay ak GitLab nan enstalasyon yo ka wè mizajou nan vèsyon aktyèl la nan pwodwi nou an. Version chak mwa a gen nouvo karakteristik, devlopman sa ki deja egziste, epi souvan montre rezilta final demann kominote a pou zouti oswa fizyon.

Men, jan pratik montre, devlopman lojisyèl se raman san defo. Lè yo dekouvri yon ensèk oswa yon vilnerabilite sekirite, manadjè lage nan ekip livrezon an kreye yon patch pou itilizatè nou yo ak enstalasyon yo. Gitlab.com mete ajou pandan pwosesis CD la. Nou rele pwosesis CD sa a deplwaman otomatik pou evite konfizyon ak karakteristik CD nan GitLab. Pwosesis sa a ka enkòpore sijesyon soti nan demann rale soumèt pa itilizatè, kliyan, ak ekip devlopman entèn nou an, se konsa ke rezoud pwoblèm nan raz nan divilge plak yo rezoud nan de fason trè diferan.

«Nou asire ke tout sa devlopè fè yo deplwaye nan tout anviwònman chak jou anvan yo woule li sou GitLab.com.", eksplike Marin Jankovki, Senior Technical Manager, Depatman Enfrastrikti. "Panse a degaje pou enstalasyon ou yo kòm snapshots pou deplwaman gitlab.com, pou sa nou te ajoute etap separe pou kreye yon pake pou itilizatè nou yo ka itilize li pou enstale sou enstalasyon yo.'.

Kèlkeswa ensèk la oswa vilnerabilite, kliyan gitlab.com yo pral resevwa koreksyon yon ti tan apre yo fin pibliye yo, ki se yon benefis nan pwosesis CD otomatik la. Patch pou itilizatè ki gen pwòp enstalasyon yo mande pou manadjè a lage preparasyon separe.

Ekip livrezon an ap travay di pou otomatize pi fò nan pwosesis ki enplike nan kreye degaje yo diminye MTTP (tan vle di nan pwodiksyon, sa vle di tan pase sou pwodiksyon), peryòd tan ki soti nan pwosesis yon demann fizyon pa yon devlopè nan deplwaman sou gitlab.com.

«Objektif ekip livrezon an se asire w ke nou ka deplase pi vit kòm yon konpayi, oswa omwen fè moun yo livrezon travay pi vit, dwa.?, di Marin.

Tou de kliyan gitlab.com ak itilizatè enstalasyon yo benefisye de efò ekip livrezon an pou diminye tan sik yo epi akselere deplwaman yo. Nan atik sa a nou pral eksplike resanblans ak diferans ki genyen ant de metòd sa yo. pwoblèm, epi nou pral dekri tou ki jan ekip livrezon nou an prepare plak pou itilizatè k ap travay sou enstalasyon yo, ansanm ak fason nou asire ke gitlab.com se ajou lè l sèvi avèk deplwaman otomatik.

Kisa yon manadjè lage fè?

Manm ekip yo chak mwa transfere wòl manadjè lage degaje nou yo bay itilizatè yo nan enstalasyon yo, ki gen ladan plak ak degaje sekirite ki ka rive ant degaje yo. Yo responsab tou pou dirije tranzisyon konpayi an nan deplwaman otomatik ak kontinyèl.

Degaje enstalasyon pwòp tèt ou ak degaje gitlab.com itilize workflows menm jan an men kouri nan diferan moman, Marin eksplike.

Premye ak premye, manadjè lage a, kèlkeswa kalite lage a, asire ke GitLab disponib epi an sekirite depi lè aplikasyon an te lanse sou gitlab.com, ki gen ladan asire ke menm pwoblèm yo pa fini nan enfrastrikti nan kliyan ak yo. pwòp kapasite yo.

Yon fwa ke yon ensèk oswa vilnerabilite yo make ranje nan GitLab, manadjè lage a dwe evalye ke li pral enkli nan plak yo oswa mizajou sekirite pou itilizatè ki gen enstalasyon yo. Si li deside ke yon ensèk oswa vilnerabilite merite yon aktyalizasyon, travay preparasyon an kòmanse.

Manadjè lage a dwe deside si yo prepare yon ranje, oswa ki lè yo deplwaye li - e sa a depann anpil de kontèks sitiyasyon an, "nan entre-temps la, machin yo pa osi bon nan jere kontèks kòm moun" di Marin.

Se tout sou ranje yo

Ki sa ki patch ak poukisa nou bezwen yo?

Manadjè lage a deside si yo lage yon ranje ki baze sou gravite ensèk la.

Erè yo varye selon severite yo. Se konsa, erè S4 oswa S3 ka stylistic, tankou deplasman pixel oswa icon. Sa a pa mwens enpòtan, men pa gen okenn enpak enpòtan sou workflow nenpòt moun, ki vle di ke chans pou yo pral kreye yon ranje pou erè S3 oswa S4 sa yo piti, eksplike Marin.

Sepandan, vilnerabilite S1 oswa S2 vle di ke itilizatè a pa ta dwe mete ajou ak dènye vèsyon an, oswa gen yon ensèk enpòtan ki afekte workflow itilizatè a. Si yo enkli nan tracker a, anpil itilizatè yo te rankontre yo, kidonk manadjè lage a imedyatman kòmanse prepare yon ranje.

Yon fwa yon patch pou vilnerabilite S1 oswa S2 pare, manadjè lage a kòmanse divilge patch la.

Pou egzanp, patch GitLab 12.10.1 la te kreye apre plizyè pwoblèm bloke yo te idantifye ak devlopè yo te fikse pwoblèm ki kache ki te lakòz yo. Manadjè Release a te evalye kòrèkteman nivo severite yo te bay yo, epi apre konfimasyon, yo te lanse pwosesis pou pibliye yon ranje, ki te pare nan lespas XNUMX èdtan apre yo te dekouvri pwoblèm bloke yo.

Lè yon anpil nan S4, S3 ak S2 akimile, manadjè a lage gade nan kontèks la detèmine ijans nan divilge yon ranje, epi lè yo rive nan yon sèten kantite yo, yo tout konbine ak lage. Yo rezime koreksyon apre lage oswa mizajou sekirite yo nan posts blog.

Ki jan yon manadjè lage kreye plak

Nou itilize GitLab CI ak lòt karakteristik tankou ChatOps nou yo pou jenere plak. Manadjè Release kòmanse lage ranje a lè li aktive ekip ChatOps la sou chanèl entèn nou an #releases nan Slack.

/chatops run release prepare 12.10.1

ChatOps travay nan Slack pou deklanche evènman diferan, ki Lè sa a, trete ak egzekite pa GitLab. Pou egzanp, ekip livrezon an mete ChatOps pou otomatize plizyè bagay pou lage plak yo.

Yon fwa manadjè lage a kòmanse ekip ChatOps la nan Slack, rès travay la rive otomatikman nan GitLab lè l sèvi avèk CICD. Gen kominikasyon de-fason ant ChatOps nan Slack ak GitLab pandan pwosesis lage a kòm manadjè lage a aktive kèk nan etap prensipal yo nan pwosesis la.

Videyo ki anba a montre pwosesis teknik pou prepare yon patch pou GitLab.

Ki jan deplwaman otomatik travay sou gitlab.com

Pwosesis ak zouti yo itilize pou mete ajou gitlab.com yo sanble ak sa yo itilize pou kreye plak yo. Mete ajou gitlab.com mande mwens travay manyèl nan pwen de vi manadjè lage a.

Olye pou yo kouri deplwaman lè l sèvi avèk ChatOps, nou itilize karakteristik CI pa egzanp. tiyo pwograme yo, ak ki manadjè lage a ka pwograme sèten aksyon yo dwe fèt nan tan ki nesesè yo. Olye de yon pwosesis manyèl, gen yon tiyo ki kouri detanzantan yon fwa pa èdtan ki telechaje nouvo chanjman ki fèt nan pwojè GitLab, pake yo ak orè deplwaman, epi otomatikman kouri tès, QA ak lòt etap ki nesesè yo.

"Se konsa, nou gen anpil deplwaman ki kouri nan diferan anviwònman anvan gitlab.com, epi apre anviwònman sa yo an bon fòm ak tès yo montre bon rezilta, manadjè a lage kòmanse aksyon yo deplwaman gitlab.com," di Marin.

Teknoloji CICD pou sipòte mizajou gitlab.com otomatize tout pwosesis la nan pwen kote manadjè lage a dwe manyèlman lanse deplwaman anviwònman pwodiksyon an sou gitlab.com.

Marin antre nan detay sou pwosesis aktyalizasyon gitlab.com nan videyo ki anba a.

Ki lòt bagay ekip livrezon an fè?

Diferans prensipal ki genyen ant pwosesis aktyalizasyon gitlab.com yo ak lage patch yo bay kliyan anndan kay la se ke dènye pwosesis la mande plis tan ak plis travay manyèl nan men manadjè lage a.

"Nou pafwa retade pibliye patch yo bay kliyan ak enstalasyon yo akòz pwoblèm rapòte, pwoblèm zouti, ak paske gen anpil nuans ki bezwen pran an konsiderasyon lè lage yon patch sèl," di Marin.

Youn nan objektif kout tèm nan ekip livrezon an se diminye kantite travay manyèl sou pati nan manadjè a lage akselere liberasyon an. Ekip la ap travay pou senplifye, rasyonalize, ak otomatize pwosesis lage a, ki pral ede jwenn korije pwoblèm ki ba severite (S3 ak S4, approx. tradiktè). Konsantre sou vitès se yon endikatè pèfòmans kle: li nesesè diminye MTTP - tan ki soti nan resevwa yon demann fizyon pou deplwaye rezilta a sou gitlab.com - soti nan 50 èdtan aktyèl yo rive 8 èdtan.

Ekip livrezon an ap travay tou sou migrasyon gitlab.com nan yon enfrastrikti ki baze sou Kubernetes.

Editè n.b.: Si ou te deja tande pale sou teknoloji Kubernetes (e mwen pa gen dout ke ou genyen), men ou poko manyen li ak men ou, mwen rekòmande pou patisipe nan kou entansif sou entènèt. Kubernetes baz, ki pral fèt 28-30 septanm, ak Kubernetes Mega, ki pral pran plas 14-16 oktòb. Sa a pral pèmèt ou navige ak travay ak teknoloji a konfyans.

Sa yo se de apwòch ki pouswiv menm objektif la: livrezon rapid nan mizajou, tou de pou gitlab.com ak pou kliyan nan enstalasyon yo.

Nenpòt lide oswa rekòmandasyon pou nou?

Tout moun akeyi pou kontribiye nan GitLab, epi nou akeyi fidbak nan men lektè nou yo. Si ou gen nenpòt lide pou ekip livrezon nou an, pa ezite kreye yon demann ak avi team: Delivery.

Sous: www.habr.com

Add nouvo kòmantè