Giunsa namo pagpagawas ang mga patch sa software sa GitLab

Giunsa namo pagpagawas ang mga patch sa software sa GitLab

Sa GitLab, among giproseso ang mga pag-ayo sa software sa duha ka paagi: mano-mano ug awtomatiko. Basaha aron mahibal-an ang bahin sa trabaho sa manager sa pagpagawas sa paghimo ug paghatud sa hinungdanon nga mga update pinaagi sa awtomatiko nga pag-deploy sa gitlab.com, ingon man mga patch alang sa mga tiggamit nga magamit sa ilang kaugalingon nga mga instalasyon.

Girekomendar nako ang pagbutang og pahinumdom sa imong smartwatch: kada bulan sa ika-22, ang mga user nga nagtrabaho kauban ang GitLab sa ilang mga pasilidad makakita og mga update sa kasamtangan nga bersyon sa among produkto. Ang binulan nga pagpagawas adunay mga bag-ong bahin, mga pag-uswag sa mga naa na, ug kanunay nga nagpakita sa katapusan nga sangputanan sa mga hangyo sa komunidad alang sa tooling o paghiusa.

Apan, ingon sa gipakita sa praktis, ang pag-uswag sa software panagsa ra nga wala’y mga sayup. Kung nadiskubrehan ang usa ka bug o kahuyangan sa seguridad, ang manager sa pagpagawas sa tim sa paghatod maghimo usa ka ayo alang sa among mga tiggamit sa ilang mga instalasyon. Gitlab.com gi-update sa panahon sa proseso sa CD. Gitawag namo kini nga proseso sa CD nga automatic deployment aron malikayan ang kalibog sa feature sa CD sa GitLab. Kini nga proseso mahimong maglakip sa mga sugyot gikan sa mga hangyo sa pagbitad nga gisumite sa mga tiggamit, mga kostumer, ug sa among internal nga grupo sa pagpalambo, aron ang pagsulbad sa makalaay nga problema sa pagpagawas sa mga patch masulbad sa duha ka lahi kaayo nga mga paagi.

Β«Gisiguro namon nga ang tanan nga gihimo sa mga developer ipakatap sa tanan nga mga palibot matag adlaw sa wala pa kini i-roll sa GitLab.com", pasabot Marin Jankovki, Senior Technical Manager, Infrastructure Department. "Hunahunaa ang mga pagpagawas alang sa imong mga instalasyon isip mga snapshot para sa gitlab.com deployment, diin midugang kami og bulag nga mga lakang sa paghimo og package aron magamit kini sa among mga tiggamit sa pag-instalar sa ilang mga instalasyon".

Bisan unsa pa ang bug o kahuyang, ang mga kostumer sa gitlab.com makadawat og mga pag-ayo sa dili madugay pagkahuman nga kini mamantala, nga usa ka kaayohan sa automated nga proseso sa CD. Ang mga patch alang sa mga tiggamit nga adunay ilang kaugalingon nga mga pag-install nanginahanglan bulag nga pag-andam sa manager sa pagpagawas.

Nagtrabaho pag-ayo ang tim sa paghatod aron ma-automate ang kadaghanan sa mga proseso nga nalambigit sa paghimo og mga pagpagawas aron makunhuran MTTP (Mean time to production, i.e. time spent on production), ang yugto sa panahon gikan sa pagproseso sa hangyo sa paghiusa sa developer hangtod sa pagdeploy sa gitlab.com.

Β«Ang tumong sa delivery team mao ang pagsiguro nga kita makalihok nga mas paspas isip usa ka kompanya, o labing menos himoong mas paspas ang paghatud sa mga tawo, husto.?, ni Marin.

Parehong mga kostumer sa gitlab.com ug tiggamit sa ilang mga instalasyon nakabenepisyo gikan sa mga paningkamot sa delivery team nga makunhuran ang mga oras sa pag-ikot ug mapadali ang pag-deploy. Niini nga artikulo atong ipasabut ang mga kaamgiran ug mga kalainan tali niining duha ka mga pamaagi. mga isyu, ug among ihulagway usab kung giunsa pag-andam sa among tim sa paghatod ang mga patch para sa mga tiggamit nga nagtrabaho sa ilang mga pasilidad, ingon man kung giunsa namon pagsiguro nga ang gitlab.com labing bag-o gamit ang awtomatiko nga pag-deploy.

Unsa ang gibuhat sa usa ka manager sa pagpagawas?

Mga sakop sa team kada bulan pagbalhin sa papel sa release manager ang among mga pagpagawas sa mga tiggamit sa ilang mga pasilidad, lakip ang mga patch ug pagpagawas sa seguridad nga mahimong mahitabo tali sa mga pagpagawas. Sila usab ang responsable sa pagpanguna sa pagbalhin sa kompanya ngadto sa awtomatiko, padayon nga pag-deploy.

Ang mga pagpagawas sa kaugalingon nga pag-install ug ang mga pagpagawas sa gitlab.com naggamit parehas nga mga daloy sa trabaho apan nagdagan sa lainlaing mga oras, gipasabut ni Marin.

Una ug labaw sa tanan, ang tigdumala sa pagpagawas, bisan unsa pa ang tipo sa pagpagawas, nagsiguro nga ang GitLab magamit ug luwas gikan sa higayon nga ang aplikasyon gilunsad sa gitlab.com, lakip ang pagsiguro nga ang parehas nga mga isyu dili matapos sa imprastraktura sa mga kustomer sa ilang kaugalingon nga mga kapasidad.

Sa higayon nga ang usa ka bug o kahuyangan gimarkahan nga naayo sa GitLab, ang tigdumala sa pagpagawas kinahanglan nga magtimbang-timbang nga kini ilakip sa mga patch o mga update sa seguridad alang sa mga tiggamit sa ilang mga instalasyon. Kung nakahukom siya nga ang usa ka bug o pagkahuyang angay sa usa ka update, magsugod ang buluhaton sa pagpangandam.

Ang tigdumala sa pagpagawas kinahanglan nga magdesisyon kung mag-andam ba usa ka ayo, o kung kanus-a i-deploy kini - ug kini nagsalig kaayo sa konteksto sa sitwasyon, "Sa kasamtangan, ang mga makina dili ingon ka maayo sa pagdumala sa konteksto sama sa mga tawo"ingon ni Marin.

Kini tanan mahitungod sa pag-ayo

Unsa ang mga patch ug ngano nga kinahanglan naton kini?

Ang tigdumala sa pagpagawas nagdesisyon kung magpagawas ba usa ka ayo base sa kagrabe sa bug.

Nagkalainlain ang mga sayup depende sa kagrabe niini. Mao nga ang mga sayup sa S4 o S3 mahimong istilo, sama sa pagbalhin sa pixel o icon. Kini mao ang dili kaayo importante, apan walay mahinungdanon nga epekto sa workflow ni bisan kinsa, nga nagpasabot nga ang kalagmitan nga ang usa ka pag-ayo nga gibuhat alang sa maong S3 o S4 mga sayop gamay, mipasabut Marin.

Bisan pa, ang mga kahuyangan nga S1 o S2 nagpasabut nga ang tiggamit kinahanglan dili mag-update sa labing bag-ong bersyon, o adunay usa ka hinungdanon nga bug nga makaapekto sa dagan sa trabaho sa tiggamit. Kung gilakip sila sa tracker, daghang mga tiggamit ang nakasugat kanila, mao nga ang manager sa pagpagawas nagsugod dayon sa pag-andam sa usa ka ayo.

Kung andam na ang usa ka patch alang sa mga kahuyangan nga S1 o S2, ang manager sa pagpagawas magsugod sa pagpagawas sa patch.

Pananglitan, ang GitLab 12.10.1 patch gihimo human ang daghang mga isyu sa pag-block nahibal-an ug giayo sa mga developer ang nagpahiping isyu nga hinungdan niini. Gisusi sa tagdumala sa Release ang pagkahusto sa gi-assign nga lebel sa kagrabe, ug pagkahuman sa pagkumpirma, gilunsad ang proseso sa pagpagawas sa usa ka pag-ayo, nga andam sa sulod sa XNUMX ka oras pagkahuman nadiskubre ang mga problema sa pag-block.

Kung daghang S4, S3 ug S2 ang natipon, ang manager sa pagpagawas nagtan-aw sa konteksto aron mahibal-an ang pagkadinalian sa pagpagawas sa usa ka pag-ayo, ug kung ang usa ka piho nga gidaghanon niini maabot, silang tanan gihiusa ug gipagawas. Ang mga pag-ayo sa post-release o mga update sa seguridad gi-summarize sa mga post sa blog.

Giunsa paghimo sa usa ka manager sa pagpagawas ang mga patch

Gigamit namo ang GitLab CI ug uban pang mga feature sama sa among ChatOps aron makamugna og mga patch. Ang manager sa pagpagawas nag-aghat sa pagpagawas sa ayo pinaagi sa pagpaaktibo sa grupo sa ChatOps sa among internal nga channel #releases sa Slack.

/chatops run release prepare 12.10.1

Ang ChatOps nagtrabaho sulod sa Slack aron ma-trigger ang lainlaing mga panghitabo, nga giproseso ug gipatuman sa GitLab. Pananglitan, ang delivery team nag-set up sa ChatOps aron ma-automate ang lain-laing mga butang sa pagpagawas sa mga patch.

Sa higayon nga ang release manager magsugod sa ChatOps team sa Slack, ang uban nga trabaho awtomatikong mahitabo sa GitLab gamit ang CICD. Adunay duha ka paagi nga komunikasyon tali sa ChatOps sa Slack ug GitLab sa panahon sa proseso sa pagpagawas samtang ang manager sa pagpagawas nag-aktibo sa pipila sa mga dagkong lakang sa proseso.

Ang video sa ubos nagpakita sa teknikal nga proseso sa pag-andam sa usa ka patch alang sa GitLab.

Giunsa ang awtomatik nga pag-deploy sa gitlab.com

Ang proseso ug mga himan nga gigamit sa pag-update sa gitlab.com susama sa gigamit sa paghimo og mga patch. Ang pag-update sa gitlab.com nanginahanglan gamay nga manual nga trabaho gikan sa punto sa pagtan-aw sa manager sa pagpagawas.

Imbis nga magpadagan gamit ang ChatOps, gigamit namo ang mga feature sa CI e.g. naka-iskedyul nga mga linya sa tubo, diin ang tigdumala sa pagpagawas mahimong mag-iskedyul sa pipila nga mga aksyon nga himuon sa gikinahanglan nga oras. Imbis sa usa ka manual nga proseso, adunay usa ka pipeline nga nagdagan matag usa kausa sa usa ka oras nga nag-download sa mga bag-ong pagbag-o nga gihimo sa mga proyekto sa GitLab, nag-package niini ug nag-iskedyul sa pag-deploy, ug awtomatiko nga nagpadagan sa pagsulay, QA ug uban pang kinahanglan nga mga lakang.

"Mao nga kami adunay daghang mga pag-deploy nga nagdagan sa lainlaing mga palibot sa wala pa ang gitlab.com, ug pagkahuman nga ang mga palibot naa sa maayong porma ug ang pagsulay nagpakita sa maayong mga sangputanan, ang tigdumala sa pagpagawas magsugod sa mga aksyon sa pag-deploy sa gitlab.com," ingon ni Marin.

Ang teknolohiya sa CICD alang sa pagsuporta sa mga update sa gitlab.com nag-automate sa tibuok proseso ngadto sa punto diin ang manager sa pagpagawas kinahanglan nga mano-mano nga maglunsad sa pag-deploy sa palibot sa produksiyon ngadto sa gitlab.com.

Gisusi ni Marin ang detalye bahin sa proseso sa pag-update sa gitlab.com sa video sa ubos.

Unsa pa ang gibuhat sa delivery team?

Ang panguna nga kalainan tali sa mga proseso sa pag-update sa gitlab.com ug pagpagawas sa mga patch sa mga kostumer sa balay mao nga ang ulahi nga proseso nanginahanglan daghang oras ug daghang manwal nga trabaho gikan sa manager sa pagpagawas.

"Usahay kami naglangan sa pagpagawas sa mga patch sa mga kustomer sa ilang mga instalasyon tungod sa gitaho nga mga isyu, mga isyu sa tooling, ug tungod kay adunay daghang mga nuances nga kinahanglan nga tagdon sa dihang magpagawas sa usa ka patch," miingon si Marin.

Usa sa mga short-term nga tumong sa delivery team mao ang pagpakunhod sa gidaghanon sa manual work sa bahin sa release manager aron mapadali ang pagpagawas. Ang team nagtrabaho aron sa pagpayano, pag-streamline, ug pag-automate sa proseso sa pagpagawas, nga makatabang sa pag-ayo sa ubos nga kagrabe nga mga isyu (S3 ug S4, gibanabana. tighubad). Ang pag-focus sa katulin usa ka yawe nga indikasyon sa pasundayag: kinahanglan nga makunhuran ang MTTP - ang oras gikan sa pagdawat usa ka hangyo sa paghiusa hangtod sa pag-deploy sa resulta sa gitlab.com - gikan sa karon nga 50 ka oras hangtod sa 8 ka oras.

Ang delivery team nagtrabaho usab sa pagbalhin sa gitlab.com ngadto sa Kubernetes-based nga imprastraktura.

NB sa editor: Kung nakadungog ka na bahin sa teknolohiya sa Kubernetes (ug wala ako’y pagduha-duha nga naa nimo), apan wala pa kini mahikap sa imong mga kamot, girekomenda ko ang pag-apil sa mga kurso sa online intensive Kubernetes Base, nga mahitabo sa Septiyembre 28-30, ug Kubernetes Mega, nga mahitabo sa Oktubre 14–16. Makatugot kini kanimo nga masaligon nga mag-navigate ug magtrabaho kauban ang teknolohiya.

Kini ang duha ka mga pamaagi nga nagsunod sa parehas nga katuyoan: paspas nga paghatud sa mga update, alang sa gitlab.com ug para sa mga kliyente sa ilang mga pasilidad.

Bisan unsa nga mga ideya o rekomendasyon alang kanamo?

Giabi-abi ang tanan sa pagtampo sa GitLab, ug gidawat namo ang feedback gikan sa among mga magbabasa. Kung naa kay ideya para sa among delivery team, ayaw pagduha-duha paghimo og hangyo uban ang pahibalo team: Delivery.

Source: www.habr.com

Idugang sa usa ka comment