Як карпаратыўныя каманды распрацоўшчыкаў выкарыстоўваюць GitLab і Mattermost ChatOps для паскарэння распрацоўкі

І зноў добры дзень! У лютым OTUS запускае новы курс "CI/CD на AWS, Azure і Gitlab". Напярэдадні старту курса падрыхтавалі перавод карыснага матэрыялу.

Паўнавартасны набор DevOps прылад, мэсанджар з адчыненым зыходным кодам і ChatOps - як тут не закахацца?

Ніколі яшчэ не было такога ціску на каманды распрацоўшчыкаў, як зараз, з гэтым жаданнем ствараць прадукты хутчэй і больш эфектыўна. Рост папулярнасці DevOps у значнай ступені быў вынікам ускладзеных на яго чаканняў паскорыць цыкл распрацоўкі, павысіць гнуткасць і дапамагчы камандам хутчэй спраўляцца з праблемамі. Нягледзячы на ​​тое, што даступнасць і комплекснасць прылад DevOps значна палепшылася ў апошнія некалькі гадоў, просты выбар самых сучасных і лепшых прылад не гарантуе гладкага, беспраблемнага жыццёвага цыклу распрацоўкі.

Чаму GitLab

У экасістэме з экспанентна які расце выбарам і складанасцю, GitLab падае паўнавартасную DevOps платформу з адчыненым зыходным кодам, якая можа паскорыць цыкл распрацоўкі, зменшыць выдаткі на яе і падвысіць эфектыўнасць распрацоўнікаў. Ад планавання і кода да разгортвання і маніторынгу (і ў зваротны бок), GitLab аб'ядноўвае мноства разнапланавых інструментаў у адзін адкрыты набор.

Чаму Mattermost ChatOps

У Mattermost мы вялікія прыхільнікі GitLab, менавіта таму Mattermost пастаўляецца разам з GitLab Omnibus і мы працуем, каб быць упэўненымі, што Mattermost лёгка запускаецца разам з GitLab.

Адкрытая платформа Mattermost ChatOps дазваляе вам прадастаўляць рэлевантную інфармацыю вашай камандзе і прымаць рашэнні непасрэдна там, дзе вядзецца размова. Калі ўзнікае праблема, ChatOps workflow можа папярэдзіць адпаведных членаў каманды, якія разам працуюць над вырашэннем праблемы непасрэдна ў Mattermost.

ChatOps дае спосаб узаемадзеяння з задачамі CI/CD пасродкам абмену паведамленнямі. Сёння ўсярэдзіне арганізацый мноства абмеркаванняў, калабарацый і рашэнняў праблем вынесеныя ў месэнджары, і наяўнасць магчымасці запуску задач CI/CD з выходнымі дадзенымі, якія вяртаюцца зваротна ў канал, можа істотна паскорыць працэс працы каманды.

Mattermost + GitLab

Паўнавартасны набор DevOps прылад, мэсанджар з адчыненым зыходным кодам і ChatOps - як тут не закахацца? З дапамогай GitLab і Mattermost распрацоўшчыкі могуць не толькі спрасціць свой DevOps-працэс, але і перанесці яго ў той жа інтэрфейс чата, дзе члены каманд абмяркоўваюць праблемы, кааперуюцца і прымаюць рашэнні.

Вось некалькі прыкладаў таго, як каманды распрацоўшчыкаў сумесна выкарыстоўваюць Mattermost і GitLab для паляпшэння эфектыўнасці працы з дапамогай ChatOps.

Itk выкарыстоўвае GitLab і Mattermost для своечасовай дастаўкі кода і вылічвае колькасць разгортванняў на прадакшэн за год у шэсць разоў
Itk якая размяшчаецца ў Манпелье, Францыя, распрацоўвае інструменты і прыкладанні, якія дапамагаюць фермерам аптымізаваць працэсы збору ўраджаю, павышаць яго якасць і больш эфектыўна кіраваць рызыкамі.

Яны пачалі карыстацца GitLab прыкладна ў 2014 годзе і ў асноўным выкарыстоўвалі састарэлы інструмент чата для штодзённай працы, абмену паведамленнямі і відэазванкоў. Аднак, па меры росту кампаніі, гэтая прылада не маштабавалася разам з імі; не было ўвесь час якія захоўваюцца, лёгка змешчаных паведамленняў, і праца ў камандзе станавілася ўсё цяжэй. Так яны распачалі пошукі альтэрнатывы.

Неўзабаве пасля гэтага яны выявілі, што пакет GitLab Omnibus пастаўляецца разам з адчыненай платформай абмену паведамленнямі: Mattermost. Ім адразу ж спадабаўся просты функцыянал сумеснага выкарыстання кода, уключаючы аўтаматычнае падсвятленне сінтаксісу і поўную падтрымку Markdown, а таксама лёгкасць абмену ведамі, пошук па паведамленнях і сумесная праца ўсёй каманды над ідэямі для распрацоўкі новых рашэнняў, інтэграваных з GitLab.

Да пераходу на Mattermost члены каманды не маглі з лёгкасцю атрымліваць апавяшчэнні аб працэсе распрацоўкі. Але ім жадалася мець магчымасць візуальна адсочваць праекты, мерджить request'ы і вырабляць іншыя дзеянні ў GitLab.

Менавіта тады Рамэн Манэскі, распрацоўшчык з itk, пачаў пісаць плягін GitLab для Mattermost, які ў далейшым дазволіў яго камандзе падпісвацца на апавяшчэнні GitLab у Mattermost і атрымліваць апавяшчэнні аб новых issue і запытах на раўью ў адным месцы.

На сённяшні дзень убудова падтрымлівае:

  • Штодзённыя напамінкі, Каб атрымліваць інфармацыю аб тым, якія issue і merge request'ы патрабуюць вашай увагі;
  • Апавяшчэнні – каб атрымліваць апавяшчэнні ад Mattermost, калі хтосьці згадвае вас, адпраўляе вам запыт на рэўю або перанакіроўвае вам issue на GitLab.
  • Кнопкі бакавой панэлі – будзьце ў курсе таго, колькі рэўю, непрачытаных паведамленняў, прызначэнняў і адкрытых merge request'аў у вас ёсць на дадзены момант з дапамогай кнопак на бакавой панэлі Mattermost.
  • Падпіскі на праекты - Выкарыстоўвайце каманды са слёшам, каб падпісвацца на важныя каналы для атрымання апавяшчэнняў аб новых merge request'ах або issue ў GitLab.

Цяпер уся яго кампанія выкарыстоўвае як GitLab, так і Mattermost, каб паскараць працоўныя працэсы з дапамогай ChatOps. У выніку яны змаглі хутчэй дастаўляць абнаўленні, што прывяло да трохразовага росту колькасці праектаў і мікрасэрвісаў над якімі працуе каманда і да шасціразовага росту колькасці разгортванняў на прадакшэне на працягу года, і гэта ўсё пры росце каманд распрацоўшчыкаў і аграномаў у 5 разоў.

Як карпаратыўныя каманды распрацоўшчыкаў выкарыстоўваюць GitLab і Mattermost ChatOps для паскарэння распрацоўкі

Кампанія па распрацоўцы праграмнага забеспячэння падвышае прадукцыйнасць за рахунак большай празрыстасці і навочнасці змен у кодзе і канфігурацыі.

Кампанія, якая распрацоўвае праграмнае забеспячэнне і сэрвісы апрацоўкі дадзеных, якая знаходзіцца ў штаце Мэрыленд, таксама ўкараніла Mattermost, інтэграваны з GitLab, каб павысіць прадукцыйнасць і бесперашкодна супрацоўнічаць. Яны праводзяць аналітыку, кіруюць дадзенымі і распрацоўваюць праграмнае забеспячэнне для біямедыцынскіх арганізацый па ўсім свеце.

GitLab актыўна выкарыстоўваецца ў іх камандзе, і яны лічаць яго выкарыстанне велізарнай перавагай у сваіх працоўных працэсах DevOps.

Яны таксама аб'ядналі GitLab і Mattermost, сабраўшы коміты з GitLab у адзін канал у Mattermost праз webhooks, што дазволіла кіраўніцтву атрымліваць уяўленне аб тым, што адбываецца ў кампаніі ў пэўны дзень "з вышыні птушынага палёту". Таксама былі дададзены абнаўленні для кіравання канфігурацыямі і кантролем версій, з дапамогай якіх можна было атрымліваць снапшот розных змен, унесеных ва ўнутраную інфраструктуру і сістэмы на працягу дня.

Каманда таксама наладзіла асобныя каналы "Heartbeat" для адпраўкі апавяшчэнняў аб падзеях прыкладання. Адпраўляючы такія паведамленні ў пэўныя каналы Heartbeat, вы можаце не адцягваць чальцоў каманд ад працоўных гутарак у звычайных каналах, дазваляючы чальцам каманды асобна перамыкацца на пытанні, апублікаваныя ў каналах Heartbeat.

Адным з ключавых пераваг гэтай інтэграцыі з'яўляецца празрыстасць змен у розных версіях і кіраванне канфігурацыяй у рэжыме рэальнага часу. Як толькі змены коміцяцца і пушацца, у канал Heartbeat у рэжыме рэальнага часу адпраўляецца апавяшчэнне. На такі канал можа падпісацца любы ахвочы. Больш ніякіх пераключэнняў паміж прыкладаннямі, лішніх пытанняў членам каманды або адсочвання комітаў - зараз усё гэта засяроджана ў Mattermost, у той час як кіраванне канфігураваннем і распрацоўка прыкладанняў вядзецца ў GitLab.

GitLab і Mattermost ChatOps павялічваюць навочнасць і прадукцыйнасць для паскарэння распрацоўкі

Mattermost пастаўляецца ў складзе пакета GitLab Omnibus, які забяспечвае гатовую падтрымку GitLab SSO, папярэдне спакаваныя інтэграцыі GitLab і падтрымку PostgreSQL, а таксама інтэграцыю з Prometheus, якая дазваляе ажыццяўляць маніторынг сістэм і кіраванне мерамі рэагавання на інцыдэнты. Нарэшце, Mattermost зараз можна разгарнуць з дапамогай GitLab Cloud Native.

У каманд DevOps да гэтага моманту яшчэ ніколі не было лепшай прылады з тымі перавагамі, што ёсць у ChatOps. Усталюйце GitLab Omnibus з Mattermost і паспрабуйце самі!

На гэтым усё. Традыцыйна запрашаем усіх жадаючых на бясплатны вэбінар, дзе вывучым асаблівасці ўзаемадзеяння Jenkins і Kubernetes, разгледзім прыклады выкарыстання такога падыходу, прааналізуем апісанне працы плагіна і аператара.

Крыніца: habr.com

Дадаць каментар