Hoe ûndernimmingsûntwikkelingsteams GitLab en Mattermost ChatOps brûke om ûntwikkeling te fersnellen

И снова здравствуйте! В феврале OTUS запускает новый курс "CI/CD op AWS, Azure en Gitlab". В преддверии старта курса подготовили перевод полезного материала.

Полноценный набор DevOps инструментов, мессенджер с открытым исходным кодом и ChatOps – как тут не влюбиться?

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

Почему GitLab

В экосистеме с экспоненциально растущим выбором и сложностью, GitLab предоставляет полноценную DevOps платформу с открытым исходным кодом, которая может ускорить цикл разработки, снизить затраты на нее и повысить эффективность разработчиков. От планирования и кода до развертывания и мониторинга (и в обратную сторону), GitLab объединяет множество разноплановых инструментов в один открытый набор.

Почему Mattermost ChatOps

В Mattermost мы большие поклонники GitLab, именно поэтому Mattermost поставляется вместе с GitLab Omnibus и мы работаем, чтобы быть уверенными, что Mattermost легко запускается вместе с GitLab.

Iepen platfoarm 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 и запросах на ревью в одном месте.

Oant hjoed, плагин поддерживает:

  • Ежедневные напоминания, чтобы получать информацию о том, какие issue и merge request’ы требуют вашего внимания;
  • Notifikaasjes – чтобы получать уведомления от Mattermost, когда кто-то упоминает вас, отправляет вам запрос на ревью или перенаправляет вам issue на GitLab.
  • Кнопки боковой панели – будьте в курсе того, сколько ревью, непрочитанных сообщений, назначений и открытых merge request’ов у вас есть на данный момент с помощью кнопок на боковой панели Mattermost.
  • Подписки на проекты – используйте команды со слешем, чтобы подписываться на важные каналы для получения уведомлений о новых merge request’ах или issue в GitLab.

Теперь вся его компания использует как GitLab, так и Mattermost, чтобы ускорять рабочие процессы с помощью ChatOps. В результате они смогли быстрее доставлять обновления, что привело к трехкратному росту числа проектов и микросервисов над которыми работает команда и к шестикратному росту числа развертываний на продакшене в течение года, и это все при росте команд разработчиков и агрономов в 5 раз.

Hoe ûndernimmingsûntwikkelingsteams GitLab en Mattermost ChatOps brûke om ûntwikkeling te fersnellen

Software ûntwikkeling bedriuw ferbetteret produktiviteit mei gruttere transparânsje en sichtberens yn koade en konfiguraasje feroarings

It Marylân-basearre software- en datatsjinstbedriuw ymplementearre ek Matttermost yntegrearre mei GitLab om de produktiviteit en naadleaze gearwurking te ferbetterjen. Se fiere analytiken út, beheare gegevens en ûntwikkelje software foar biomedyske organisaasjes rûn de wrâld.

GitLab wurdt swier brûkt troch har team en se sjogge it gebrûk as in enoarm foardiel yn har DevOps-workflows.

Se fusearren ek GitLab en Mattermost, en sammelje commits fan GitLab yn ien feed yn Mattermost fia webhooks, wêrtroch it behear in fûgelperspektiv kin krije fan wat der op in bepaalde dei yn it bedriuw barde. Konfiguraasjebehear en updates foar ferzjekontrôle waarden ek tafoege, dy't de hiele dei snapshots levere fan ferskate feroarings oan ynterne ynfrastruktuer en systemen.

It team hat ek aparte "Heartbeat"-kanalen ynsteld om notifikaasjes te stjoeren oer app-eveneminten. Troch dizze berjochten nei spesifike Heartbeat-kanalen te stjoeren, kinne jo foarkomme dat teamleden ôfliede fan wurkpetearen yn reguliere kanalen, wêrtroch teamleden apart oerskeakelje kinne nei fragen pleatst yn Heartbeat-kanalen.

Ien fan 'e wichtichste foardielen fan dizze yntegraasje is sichtberens yn feroaringen oer ferzjes en real-time konfiguraasjebehear. Sadree't wizigingen binne ynset en trochdrukt, wurdt in notifikaasje yn echte tiid nei it Heartbeat-kanaal stjoerd. Elkenien kin him abonnearje op sa'n kanaal. Net mear wikselje tusken applikaasjes, teamleden freegje, of ferplichtingen folgje - it is allegear yn Mattermost, wylst konfiguraasjebehear en applikaasjeûntwikkeling wurde dien yn GitLab.

GitLab en Mattermost ChatOps Ferheegje sichtberens en produktiviteit om ûntwikkeling te rapperjen

Matermost komt mei GitLab Omnibus pakket. ynsidint antwurd. Uteinlik kin Mattermost no wurde ynset mei GitLab Cloud Native.

DevOps-teams hawwe noch noait in better ark hân mei de foardielen dy't ChatOps oant no ta hat. Ynstallearje GitLab Omnibus mei Mattermost en besykje it sels!

Da's alles. Традиционно приглашаем всех желающих на fergees webinar, где изучим особенности взаимодействия Jenkins и Kubernetes, рассмотрим примеры использования такого подхода, проанализируем описание работы плагина и оператора.

Boarne: www.habr.com

Add a comment