Em çawa di GitLab de paçên nermalavê derdixin

Em çawa di GitLab de paçên nermalavê derdixin

Li GitLab, em rastkirinên nermalavê bi du awayan pêvajoyê dikin: bi destan û bixweber. Bixwînin da ku li ser karê rêveberê serbestberdanê ya afirandin û radestkirina nûvekirinên girîng bi navgîniya sazkirina otomatîkî ya gitlab.com, û her weha pêlên ku bikarhêner li ser sazkirinên xwe bi wan re bixebitin fêr bibin.

Ez pêşniyar dikim ku bîranînek li ser demjimêra xweya hişmend saz bikin: her meh di 22-ê de, bikarhênerên ku bi GitLab re li sazgehên xwe dixebitin dikarin nûvekirinên guhertoya heyî ya hilberê me bibînin. Daxuyaniya mehane taybetmendiyên nû, pêşkeftinên yên heyî dihewîne, û bi gelemperî encama dawî ya daxwazên civakê ji bo amûrkirin an yekbûnê nîşan dide.

Lê, wekî ku pratîk nîşan dide, pêşkeftina nermalavê kêm kêm kêmasiyan e. Gava ku xeletiyek an zerariyek ewlehiyê tê kifş kirin, rêvebirê berdanê di tîmê radestkirinê de ji bo bikarhênerên me bi sazkirinên xwe ve girêkek çêdike. Gitlab.com di pêvajoya CD-ê de tê nûve kirin. Em ji vê prosesa CD-yê re binavkirina otomatîkî dibêjin da ku bi taybetmendiya CD-ya GitLab re tevlihev nebe. Ev pêvajo dikare pêşniyarên ji daxwazên kişandinê yên ku ji hêla bikarhêner, xerîdar, û tîmê meya pêşkeftina hundurîn ve hatî şandin vehewîne, ji ber vê yekê çareserkirina pirsgirêka bêzar a berdana paçeyan bi du awayên pir cûda çareser dibe.

«Em piştrast dikin ku her tiştê ku pêşdebiran çêdikin berî ku wê ji GitLab.com rakin her roj li hemî hawîrdoran têne bicîh kirin", diyar dike Marin Jankovki, Rêvebirê Teknîkî yê Bilind, Beşa Binesaziyê. "Weşanên ji bo sazkirinên xwe wekî dîmenên ji bo bicîhkirina gitlab.com bifikire, ji bo ku me gavên cihêreng lê zêde kirine da ku pakêtek biafirînin da ku bikarhênerên me karibin wê bikar bînin da ku li ser sazkirinên xwe saz bikin.".

Bêyî ku xeletî an qelsî hebe, xerîdarên gitlab.com dê di demek kurt de piştî weşandina wan sererastkirinê bistînin, ku ev yek feydeyek ji pêvajoya CD-ya otomatîkî ye. Patchên ji bo bikarhênerên ku bi sazûmanên xwe ve têne amadekirin ji hêla rêveberê berdanê ve hewce dike.

Tîma radestkirinê ji bo kêmkirina piraniya pêvajoyên ku di afirandina serbestberdanan de têkildar in, zehf dixebitin MTTP (tê wateya dema hilberînê, ango dema ku li ser hilberînê derbas dibe), dema ku ji pêvajoyek daxwazek hevgirtinê ji hêla pêşdebirek ve heya bicîhkirina li ser gitlab.com.

«Armanca tîmê radestkirinê ew e ku pê ewle bibe ku em dikarin wekî pargîdaniyek zûtir tevbigerin, an bi kêmanî mirovên radest zûtir bixebitin, rast?, dibêje Marîn.

Hem xerîdarên gitlab.com û hem jî bikarhênerên sazûmanên wan ji hewildanên tîmê radestkirinê sûd werdigirin ji bo kêmkirina demên çerxê û bilezkirina bicîhkirinê. Di vê gotarê de em ê wekhevî û cûdahiyên di navbera van her du rêbazan de rave bikin. pirsgirêkên, û em ê her weha diyar bikin ka tîmê meya radestkirinê çawa ji bo bikarhênerên ku li ser malperê dixebitin piçikan amade dike, û em ê çawa gitlab.com-ê bi karanîna birêkûpêkkirina otomatîkî nûve dikin.

Rêvebirek berdanê çi dike?

Endamên tîmê mehane rola rêveberê berdanê veguherîne weşanên me ji bikarhênerên li tesîsên wan re, di nav de pêçan û serbestberdanên ewlehiyê yên ku dibe ku di navbera berdanan de çêbibin. Ew di heman demê de berpirsiyar in ku pêşengiya veguheztina pargîdanî ya berbi sazkirina otomatîkî, domdar bikin.

Daxuyaniyên xwe-sazkirinê û berdanên gitlab.com karûbarên wekhev bikar tînin lê di demên cûda de têne xebitandin, Marin diyar dike.

Berî her tiştî, rêveberê berdanê, bêyî ku celebê berdanê be, piştrast dike ku GitLab ji gava ku serîlêdan li ser gitlab.com hatî destpêkirin ve berdest û ewledar e, di nav de jî piştrast dike ku heman pirsgirêk di binesaziya xerîdaran de bi dawî nebin. kapasîteyên xwe.

Gava ku di GitLab-ê de xeletiyek an qelsiyek hate destnîşan kirin, divê rêveberê berdanê binirxîne ku ew ê ji bo bikarhêneran bi sazûmanên xwe re di nav pêçan an nûvekirinên ewlehiyê de cih bigire. Ger ew biryar bide ku xeletiyek an qelsiyek nûvekirinê heq dike, xebata amadekar dest pê dike.

Gerînendeyê berdanê pêdivî ye ku biryar bide ka meriv çareseriyek amade bike, an kengê wê bicîh bike - û ev pir bi çarçoweya rewşê ve girêdayî ye, "di vê navberê de, makîneyên di birêvebirina çarçovê de wekî mirovan ne baş in" dibêje Marin.

Ew hemî li ser rastkirinê ye

Patch çi ne û çima em hewce ne?

Rêvebirê berdanê li ser bingeha giraniya xeletiyê biryar dide ka dê sererastkirinek azad bike.

Çewtî li gorî giraniya wan diguhere. Ji ber vê yekê xeletiyên S4 an S3 dikarin stîlîstîk bin, wekî pixel an îkonê veqetandin. Ev ne hindik girîng e, lê bandorek girîng li ser tevgera xebata kesek tune, ku tê vê wateyê ku îhtîmala ku ji bo xeletiyên wusa S3 an S4 were çêkirin piçûk e, rave dike Marin.

Lêbelê, qelsiyên S1 an S2 tê vê wateyê ku bikarhêner divê guhertoya herî paşîn nûve neke, an jî xeletiyek girîng heye ku bandorê li tevgera xebatê ya bikarhêner dike. Ger ew di şopînerê de bin, gelek bikarhêner bi wan re rûbirû bûne, ji ber vê yekê rêveberê berdanê tavilê dest bi amadekirina rastkirinê dike.

Dema ku pişkek ji bo qelsiyên S1 an S2 amade be, rêveberê berdanê dest bi berdana patchê dike.

Mînakî, patchê GitLab 12.10.1 piştî ku gelek pirsgirêkên astengkirinê hatin nas kirin û pêşdebiran pirsgirêka bingehîn a ku bû sedema wan rast kirin. Rêvebirê Release rastbûna astên giraniya diyarkirî nirxand, û piştî pejirandinê, pêvajoya berdana rastkirinê hate destpêkirin, ku piştî ku pirsgirêkên astengkirinê hatin dîtin di nav XNUMX demjimêran de amade bû.

Gava ku gelek S4, S3 û S2 berhev dibin, rêvebirê berdanê li çarçovê dinêre da ku bileziya berdana rastkirinê diyar bike, û gava ku hejmarek ji wan bigihîje, ew hemî têne berhev kirin û berdan. Serastkirinên piştî berdanê an nûvekirinên ewlehiyê di postên blogê de têne kurt kirin.

Rêvebirek serbestberdanê çawa pêçan diafirîne

Em GitLab CI û taybetmendiyên din ên mîna ChatOps-a xwe bikar tînin da ku pêçan çêkin. Rêvebirê berdanê bi çalakkirina tîmê ChatOps li ser kanala meya navxweyî dest bi berdana rastkirinê dike #releases li Slack.

/chatops run release prepare 12.10.1

ChatOps di hundurê Slack de dixebite ku bûyerên cihêreng bişewitîne, ku paşê ji hêla GitLab ve têne hilberandin û darve kirin. Mînakî, tîmê radestkirinê ChatOps saz kir da ku tiştên cûrbecûr bixweber bike da ku pêçan serbest bike.

Gava ku rêveberê berdanê tîmê ChatOps li Slack dest pê dike, karê mayî bixweber di GitLab de bi karanîna CICD-ê diqewime. Di pêvajoya berdanê de di navbera ChatOps-ê de di Slack û GitLab de pêwendiyek du-alî heye ji ber ku rêveberê berdanê hin gavên sereke di pêvajoyê de çalak dike.

Vîdyoya jêrîn pêvajoya teknîkî ya amadekirina patchek ji bo GitLab nîşan dide.

Çawa sazkirina otomatîkî li ser gitlab.com dixebite

Pêvajo û amûrên ku ji bo nûvekirina gitlab.com têne bikar anîn dişibihe yên ku ji bo çêkirina paçeyan têne bikar anîn. Nûvekirina gitlab.com ji nêrîna rêveberê berdanê kêmtir xebata destan hewce dike.

Li şûna ku em bi karanîna ChatOps vesazkirinê bimeşînin, em taybetmendiyên CI-ê bikar tînin, mînakî. boriyên plankirî, bi kîjan rêveberê serbestberdanê dikare hin çalakiyan di wextê pêwîst de pêk bîne. Li şûna pêvajoyek bi destan, boriyek heye ku demjimêrek carek demkî dimeşîne ku guheztinên nû yên ku li projeyên GitLab hatine çêkirin dakêşîne, wan pak dike û bicîhkirinê destnîşan dike, û bixweber ceribandin, QA û gavên din ên pêwîst dimeşîne.

"Ji ber vê yekê berî gitlab.com li hawîrdorên cihêreng gelek verastkirinên me hene, û piştî ku ew hawîr di rewşek baş de ne û ceribandin encamên baş nîşan dide, rêveberê berdanê dest bi çalakiyên bicîhkirina gitlab.com dike," dibêje Marin.

Teknolojiya CICD ji bo piştgirîkirina nûvekirinên gitlab.com tevahiya pêvajoyê bixweber dike heya wê gavê ku rêveberê berdanê divê bi desta vekirina hawîrdora hilberînê li gitlab.com dest pê bike.

Marin di vîdyoya jêrîn de di derbarê pêvajoya nûvekirina gitlab.com de hûrgulî dike.

Tîma radestkirinê wekî din çi dike?

Cûdahiya sereke di navbera pêvajoyên nûvekirina gitlab.com û berdana paçikan de ji xerîdarên hundurîn re ev e ku pêvajoya paşîn ji rêveberê berdanê bêtir dem û xebata destanî hewce dike.

"Em carinan ji ber pirsgirêkên ragihandinê, pirsgirêkên amûrkirinê, û ji ber ku gelek nuwaze hene ku dema berdana paçek yekane divê li ber çavan werin girtin, bi sazkirinên wan re berdana paçeyan ji xerîdaran re dereng dixin," dibêje Marin.

Yek ji armancên demkurt ên tîmê radestkirinê ev e ku meriv karê destan ji hêla rêveberê berdanê ve kêm bike da ku berdanê bilez bike. Tîm dixebitin ku pêvajoya berdanê hêsan bike, rêkûpêk bike û otomatîk bike, ku dê bibe alîkar ku pirsgirêkên kêm giran çareser bike (S3 û S4, approx. wergêr). Balkêşkirina li ser lezê nîşanek performansê ya sereke ye: pêdivî ye ku MTTP - wextê ji wergirtina daxwazek hevgirtinê heya bicîhkirina encamê li gitlab.com - ji 50 demjimêrên heyî heya 8 demjimêran kêm bike.

Tîma radestkirinê jî li ser koçkirina gitlab.com li binesaziyek Kubernetes-ê dixebite.

Edîtorê n.b.: Ger we berê li ser teknolojiya Kubernetes bihîstiye (û gumana min tune ku we heye), lê hîna bi destên xwe dest nedaye wê, ez pêşniyar dikim ku beşdarî qursên zexm ên serhêl bibin. Bingeha Kubernetes, ku wê bê lidarxistin Îlon 28-30, û Kubernetes Mega, ku dê di 14-16 Cotmehê de pêk were. Ev ê bihêle ku hûn bi pêbawerî rêve bibin û bi teknolojiyê re bixebitin.

Ev du nêzîkatî ne ku heman armancê dişopînin: radestkirina bilez a nûvekirinan, hem ji bo gitlab.com û hem jî ji bo xerîdarên li dezgehên wan.

Ji bo me çi raman an pêşniyar hene?

Her kes bi xêr hatî ku beşdarî GitLab bibe, û em pêşwaziya bersivên xwendevanên xwe dikin. Ger ji bo tîmê meya radestkirinê ramanên we hebin, dudilî nebin daxwazek çêbikin bi hişyarî team: Delivery.

Source: www.habr.com

Add a comment