Як корпоративні команди розробників використовують 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

Додати коментар або відгук