Чӣ тавр мо часбҳои нармафзорро дар GitLab мебарорем

Чӣ тавр мо часбҳои нармафзорро дар GitLab мебарорем

Дар GitLab мо ислоҳи нармафзорро бо ду роҳ коркард мекунем: дастӣ ва автоматӣ. Барои гирифтани маълумот дар бораи кори менеҷери релизҳо оид ба эҷод ва расонидани навсозиҳои муҳим тавассути густариши автоматикунонидашуда ба gitlab.com ва инчунин часпакҳо барои корбарон барои кор дар насби худ хонед.

Ман тавсия медиҳам, ки дар соатҳои интеллектуалии худ ёдраскуниро насб кунед: ҳар моҳ рӯзи 22 корбароне, ки бо GitLab дар иншооти худ кор мекунанд, метавонанд навсозиҳои версияи ҷории маҳсулоти моро бубинанд. Нашри ҳармоҳа дорои хусусиятҳои нав, таҳаввулоти мавҷуда буда, аксар вақт натиҷаи ниҳоии дархостҳои ҷомеаро оид ба асбобҳо ё якҷоякунӣ нишон медиҳад.

Аммо, чунон ки таҷриба нишон медиҳад, таҳияи нармафзор хеле кам бе камбудиҳо мегузарад. Вақте ки хато ё осебпазирии амният ошкор мешавад, менеҷери релиз дар гурӯҳи таҳвил барои корбарони мо бо насби онҳо ямоқи эҷод мекунад. Gitlab.com дар ҷараёни CD навсозӣ мешавад. Мо ин раванди CD-ро густариши худкор меномем, то аз иштибоҳ бо хусусияти CD дар GitLab роҳ надиҳад. Ин раванд метавонад пешниҳодҳоро аз дархостҳои ҷалбшуда аз ҷониби корбарон, мизоҷон ва дастаи рушди дохилии мо дар бар гирад, то ҳалли мушкилоти дилгиркунанда оид ба баровардани часпакҳо бо ду роҳи хеле гуногун ҳал карда шавад.

«Мо кафолат медиҳем, ки ҳама чизҳои таҳиягарон ҳар рӯз пеш аз паҳн кардани он ба GitLab.com дар ҳама муҳитҳо ҷойгир карда мешаванд.", мефаҳмонад Марин Янковки, Мудири калони техникии шуъбаи инфраструктура. "Дар бораи релизҳо барои насбҳои худ ҳамчун аксҳои фаврӣ барои ҷойгиркунии gitlab.com фикр кунед, ки барои онҳо мо қадамҳои алоҳидаро барои сохтани баста илова кардем, то корбарони мо онро барои насб кардан дар насби худ истифода баранд.".

Новобаста аз хатогӣ ё осебпазирӣ, муштариёни gitlab.com чанде пас аз нашри онҳо ислоҳ хоҳанд шуд, ки ин бартарии раванди автоматии CD мебошад. Часбҳо барои корбарон бо насби худ аз ҷониби менеҷери релиз омодагии алоҳидаро талаб мекунанд.

Гурӯҳи таҳвил барои автоматикунонии аксари равандҳое, ки дар эҷоди релизҳо барои кам кардани онҳо алоқаманданд, сахт кор мекунад MTTP (вақти миёна то истеҳсолот, яъне вақти барои истеҳсол сарфшуда), давраи вақт аз коркарди дархости якҷоякунӣ аз ҷониби таҳиякунанда то ҷойгиркунӣ дар gitlab.com.

«Ҳадафи дастаи интиқол ин аст, ки боварӣ ҳосил кунем, ки мо метавонем ҳамчун як ширкат зудтар ҳаракат кунем ё ҳадди аққал одамони интиқолро тезтар кор кунем, дуруст?, мегӯяд Марин.

Ҳам муштариёни gitlab.com ва ҳам корбарони насбҳои онҳо аз кӯшишҳои дастаи таҳвил барои кам кардани давраҳо ва суръат бахшидан ба ҷойгиркунӣ баҳра мебаранд. Дар ин мақола мо монандӣ ва фарқияти байни ин ду усулро шарҳ медиҳем. масъалаҳо, ва мо инчунин тавсиф хоҳем кард, ки чӣ гуна дастаи таҳвили мо барои корбароне, ки дар иншооти худ кор мекунанд, часбҳоро омода мекунад ва инчунин чӣ гуна мо кафолат медиҳем, ки gitlab.com бо истифода аз густариши автоматикунонидашуда навсозӣ мешавад.

Менеҷери озодкунӣ чӣ кор мекунад?

Аъзоёни бригада хар мох супоридани роли мудири озод релизҳои мо ба корбарон дар иншооти онҳо, аз ҷумла часбҳо ва релизҳои амниятӣ, ки метавонанд дар байни релизҳо пайдо шаванд. Онҳо инчунин барои пешбурди гузариши ширкат ба густариши автоматикунонидашуда ва муттасил масъуланд.

Варақаҳои худкоркунӣ ва релизҳои gitlab.com ҷараёнҳои кори шабеҳро истифода мебаранд, аммо дар вақтҳои гуногун кор мекунанд, мефаҳмонад Марин.

Пеш аз ҳама, менеҷери релиз, новобаста аз намуди релиз, кафолат медиҳад, ки GitLab аз лаҳзаи ба кор андохтани барнома дар gitlab.com дастрас ва бехатар аст, аз ҷумла кафолат медиҳад, ки ҳамон масъалаҳо дар инфрасохтори муштариён бо онҳо хотима наёбанд. иктидори худ.

Вақте ки хато ё осебпазирӣ дар GitLab ислоҳ карда мешавад, мудири релиз бояд арзёбӣ кунад, ки он ба часбҳо ё навсозиҳои амниятӣ барои корбарон бо насби онҳо дохил карда мешавад. Агар ӯ қарор кунад, ки хато ё осебпазирӣ сазовори навсозӣ аст, кори омодагӣ оғоз мешавад.

Менеҷери релиз бояд тасмим гирад, ки ислоҳро омода кунад ё кай онро ҷойгир кунад - ва ин аз контексти вазъ хеле вобаста аст, "дар айни замон, мошинҳо дар идоракунии контекст мисли одамон хуб нестанд" мегӯяд Марин.

Ин ҳама дар бораи ислоҳот аст

Пахшҳо чист ва чаро онҳо ба мо лозиманд?

Менеҷери релиз тасмим мегирад, ки оё ислоҳро дар асоси вазнинии хато озод кунад.

Хатогиҳо вобаста ба вазнинии онҳо фарқ мекунанд. Ҳамин тавр, хатогиҳои S4 ё S3 метавонанд услубӣ бошанд, ба монанди ҷойивазкунии пиксел ё нишона. Ин камтар муҳим нест, аммо ба ҷараёни кори касе таъсири назаррасе надорад, яъне эҳтимолияти ислоҳи чунин хатогиҳои S3 ё S4 кам аст, мефаҳмонад Марин.

Бо вуҷуди ин, осебпазирии S1 ё S2 маънои онро дорад, ки корбар набояд ба версияи охирин навсозӣ кунад ва ё хатои назаррасе вуҷуд дорад, ки ба ҷараёни кори корбар таъсир мерасонад. Агар онҳо ба трекер дохил карда шаванд, бисёр корбарон бо онҳо дучор омадаанд, аз ин рӯ мудири релиз фавран ба омода кардани ислоҳ шурӯъ мекунад.

Вақте ки ямоқи осебпазирии S1 ё S2 омода аст, менеҷери релиз ба баровардани часпак оғоз мекунад.

Масалан, ямоқи GitLab 12.10.1 пас аз муайян кардани якчанд мушкилоти басташавӣ сохта шудааст ва таҳиягарон мушкилоти асосиеро, ки боиси онҳо мешуданд, ҳал карданд. Менеҷери релиз дурустии сатҳҳои вазнинии таъиншударо арзёбӣ кард ва пас аз тасдиқ, раванди баровардани ислоҳ оғоз шуд, ки дар давоми XNUMX соат пас аз ошкор шудани мушкилоти басташавӣ омода буд.

Вақте ки миқдори зиёди S4, S3 ва S2 ҷамъ мешаванд, менеҷери релиз ба контекст барои муайян кардани таъҷилии интишори ислоҳ назар мекунад ва вақте ки шумораи муайяни онҳо ба даст меояд, ҳама якҷоя карда мешаванд ва озод карда мешаванд. Ислоҳҳои пас аз нашр ё навсозиҳои амниятӣ дар паёмҳои блог ҷамъбаст карда мешаванд.

Чӣ тавр менеҷери релиз часбҳоро эҷод мекунад

Мо барои тавлиди часбҳо GitLab CI ва дигар хусусиятҳоро ба монанди ChatOps-и худ истифода мебарем. Менеҷери релиз нашри ислоҳро тавассути фаъол кардани гурӯҳи ChatOps дар канали дохилии мо оғоз мекунад #releases дар Slack.

/chatops run release prepare 12.10.1

ChatOps дар дохили Slack кор мекунад, то рӯйдодҳои гуногунро оғоз кунад, ки баъдан аз ҷониби GitLab коркард ва иҷро карда мешаванд. Масалан, гурӯҳи таҳвил ChatOps-ро барои автоматикунонии чизҳои гуногун барои баровардани часпакҳо таъсис дод.

Вақте ки менеҷери релиз дастаи ChatOps-ро дар Slack оғоз мекунад, боқимондаи кор ба таври худкор дар GitLab бо истифода аз CICD сурат мегирад. Дар ҷараёни баровардан байни ChatOps дар Slack ва GitLab алоқаи дуҷониба мавҷуд аст, зеро менеҷери релиз баъзе қадамҳои асосии ин равандро фаъол мекунад.

Дар видеои зер раванди техникии омода кардани ямоқи GitLab нишон дода шудааст.

Чӣ тавр ҷойгиркунии автоматӣ дар gitlab.com кор мекунад

Раванд ва асбобҳое, ки барои навсозии gitlab.com истифода мешаванд, ба онҳое монанданд, ки барои сохтани часбҳо истифода мешаванд. Навсозии gitlab.com аз нуқтаи назари мудири версия кори камтари дастиро талаб мекунад.

Ба ҷои он ки ҷобаҷогузорӣ бо истифода аз ChatOps, мо хусусиятҳои CI -ро истифода мебарем, масалан. қубурҳои ба нақша гирифташуда, ки бо он мудири релиз метавонад амалҳои муайянеро, ки дар вақти зарурӣ иҷро мешаванд, ба нақша гирад. Ба ҷои раванди дастӣ, қубур мавҷуд аст, ки давра ба давра дар як соат як маротиба кор мекунад, ки тағиротҳои навро дар лоиҳаҳои GitLab зеркашӣ мекунад, онҳоро бастабандӣ мекунад ва ҷойгиркуниро ба нақша мегирад ва ба таври худкор санҷиш, QA ва дигар қадамҳои заруриро иҷро мекунад.

"Аз ин рӯ, мо дар муҳитҳои гуногун пеш аз gitlab.com бисёр ҷойгиркунӣ дорем ва пас аз он ки ин муҳитҳо дар ҳолати хуб қарор доранд ва санҷиш натиҷаҳои хуб нишон медиҳад, менеҷери релиз амалҳои густариши gitlab.com-ро оғоз мекунад" мегӯяд Марин.

Технологияи CICD барои дастгирии навсозиҳои gitlab.com тамоми равандро то дараҷае автоматӣ мекунад, ки мудири релиз бояд ҷойгиркунии муҳити истеҳсолиро ба gitlab.com дастӣ оғоз кунад.

Марин дар бораи раванди навсозии gitlab.com дар видеои зер муфассал маълумот медиҳад.

Гурӯҳи интиқол боз чӣ кор мекунад?

Фарқи асосии байни равандҳои навсозии gitlab.com ва баровардани часпакҳо ба муштариён дар дохили он дар он аст, ки раванди охирин вақти бештар ва кори дастии бештарро аз мудири релиз талаб мекунад.

"Мо баъзан интишори часбҳоро ба муштариён бо насби онҳо бо сабаби мушкилоти гузоришшуда, мушкилоти асбобҳо ва азбаски нозукиҳои зиёде мавҷуданд, ки ҳангоми баровардани як патч бояд ба назар гирифта шаванд" мегӯяд Марин.

Яке аз ҳадафҳои кӯтоҳмуддати дастаи таҳвил ин кам кардани ҳаҷми кори дастии менеҷери релизҳо барои суръат бахшидан ба озодкунӣ мебошад. Даста барои содда кардан, ба тартиб даровардан ва автоматикунонии раванди баровардан кор мекунад, ки барои ислоҳи мушкилоти дараҷаи паст (S3 ва S4, тақрибан. тарчумон). Таваҷҷӯҳ ба суръат як нишондиҳандаи асосии кор аст: MTTP - вақтро аз гирифтани дархости якҷоякунӣ то ҷойгиркунии натиҷа ба gitlab.com - аз 50 соати ҷорӣ то 8 соат кам кардан лозим аст.

Гурӯҳи таҳвил инчунин барои интиқоли gitlab.com ба инфрасохтори Kubernetes кор мекунад.

НБ-и мухаррир: Агар шумо аллакай дар бораи технологияи Kubernetes шунидаед (ва ман шубҳа надорам, ки шумо онро доред), аммо то ҳол онро бо дастони худ ламс накардаед, ман тавсия медиҳам, ки дар курсҳои интенсивии онлайн иштирок кунед. Пойгоҳи Кубернетес, ки 28—30 сентябрь барпо мегардад ва Kubernetes Mega, ки 14—16 октябрь барпо мегардад. Ин ба шумо имкон медиҳад, ки бо итминон паймоиш кунед ва бо технология кор кунед.

Ин ду равишест, ки як ҳадафро пайгирӣ мекунанд: интиқоли зуди навсозиҳо ҳам барои gitlab.com ва ҳам барои муштариён дар иншооти онҳо.

Ягон идея ё тавсияҳо барои мо?

Ҳама метавонанд ба GitLab саҳм гузоранд ва мо фикру мулоҳизаҳои хонандагони худро қабул мекунем. Агар шумо барои дастаи интиқоли мо ягон идея дошта бошед, шарм надоред дархост эҷод кунед бо огоҳӣ team: Delivery.

Манбаъ: will.com

Илова Эзоҳ