Wie Unternehmensentwicklungsteams GitLab und Mattermost ChatOps verwenden, um die Entwicklung zu beschleunigen

Hallo wieder! Im Februar startet OTUS den neuen CI / CD- Kurs für AWS, Azure und Gitlab . Am Vorabend des Kursbeginns haben wir eine Übersetzung von nützlichem Material vorbereitet.





Ein kompletter Satz von DevOps-Tools, ein Open Source Messenger und ChatOps - wie können Sie sich nicht verlieben?

Es gab noch nie einen solchen Druck auf die Entwicklungsteams wie jetzt, mit dem Wunsch, Produkte schneller und effizienter zu entwickeln. Die wachsende Beliebtheit von DevOps war größtenteils auf die Erwartungen zurückzuführen, die an ihn gestellt wurden, um den Entwicklungszyklus zu beschleunigen, die Flexibilität zu erhöhen und den Teams zu helfen, schneller zurechtzukommen. Obwohl sich die Verfügbarkeit und Vollständigkeit von DevOps-Tools in den letzten Jahren erheblich verbessert hat, garantiert die einfache Auswahl der fortschrittlichsten und besten Tools keinen reibungslosen und problemlosen Entwicklungslebenszyklus.

Warum Gitlab?


In einem Ökosystem mit exponentiell wachsenden Auswahlmöglichkeiten und Komplexität bietet GitLab eine vollwertige Open-Source-DevOps-Plattform, die den Entwicklungszyklus beschleunigen, Kosten senken und die Entwicklerproduktivität steigern kann. Von der Planung über den Code bis zur Bereitstellung und Überwachung (und umgekehrt) kombiniert GitLab viele verschiedene Tools in einer Open Source-Suite.

Warum die meisten ChatOps


Bei Mattermost sind wir große Fans von GitLab, weshalb Mattermost mit GitLab Omnibus geliefert wird und wir arbeiten daran, dass Mattermost problemlos mit GitLab ausgeführt werden kann .

Mit der offenen Plattform Mattermost ChatOps können Sie Ihrem Team relevante Informationen zur Verfügung stellen und Entscheidungen direkt dort treffen, wo die Konversation stattfindet. Wenn ein Problem auftritt, kann der ChatOps-Workflow relevante Teammitglieder benachrichtigen, die zusammenarbeiten, um das Problem direkt in Mattermost zu beheben.

ChatOps bietet eine Möglichkeit, mit CI / CD-Aufgaben über Messaging zu interagieren. Heutzutage wurden innerhalb von Organisationen viele Diskussionen, Kooperationen und Problemlösungen an Messenger übermittelt, und die Möglichkeit, CI / CD-Aufgaben mit Ausgabe auszuführen, die an den Kanal zurückkehrt, kann den Arbeitsprozess des Teams erheblich beschleunigen.

Mattermost + GitLab


Ein kompletter Satz von DevOps-Tools, ein Open Source Messenger und ChatOps - wie können Sie sich nicht verlieben? Mit GitLab und Mattermost können Entwickler ihren DevOps-Prozess nicht nur vereinfachen, sondern auch auf dieselbe Chat-Oberfläche übertragen, auf der Teammitglieder Probleme diskutieren, zusammenarbeiten und Entscheidungen treffen.

Hier einige Beispiele, wie Entwicklungsteams Mattermost und GitLab gemeinsam nutzen, um ihre Produktivität mit ChatOps zu verbessern.

Itk verwendet GitLab und Mattermost, um Code rechtzeitig bereitzustellen, und erhöht die Anzahl der Produktionsbereitstellungen sechsmal pro Jahr.
ItkDas Unternehmen mit Sitz in Montpellier, Frankreich, entwickelt Tools und Anwendungen, mit denen Landwirte die Ernteprozesse optimieren, ihre Qualität verbessern und Risiken effektiver steuern können.

Sie begannen um 2014 mit der Verwendung von GitLab und verwendeten meistens das veraltete Chat-Tool für die tägliche Arbeit, Messaging und Videoanrufe. Als das Unternehmen wuchs, skalierte dieses Tool jedoch nicht mit ihnen. Es gab keine dauerhaft gespeicherten, leicht zu findenden Nachrichten, und die Teamarbeit wurde immer schwieriger. Also machten sie sich auf die Suche nach einer Alternative.

Bald darauf stellten sie fest, dass das GitLab Omnibus-Paket die offene Messaging-Plattform enthält: Mattermost. Er mochte sofort die einfache Code-Sharing-Funktionalität, einschließlich automatischer Syntaxhervorhebung und vollständiger Markdown-Unterstützung, sowie den einfachen Wissensaustausch, die Nachrichtensuche und die Zusammenarbeit im Team bei Ideen für die Entwicklung neuer, in GitLab integrierter Lösungen.

Vor dem Wechsel zu Mattermost konnten Teammitglieder nicht einfach Benachrichtigungen über den Entwicklungsprozess erhalten. Sie wollten jedoch in der Lage sein, Projekte visuell zu verfolgen, Anforderungen zusammenzuführen und andere Aktionen in GitLab auszuführen.

Zu diesem Zeitpunkt begann Romain Maneski, ein itk-Entwickler, das GitLab-Plugin für Mattermost zu schreiben, das es seinem Team später ermöglichte, GitLab-Benachrichtigungen in Mattermost zu abonnieren und Benachrichtigungen über neue Probleme und Überprüfungsanfragen an einem Ort zu erhalten.

Bisher unterstützt das Plugin :

  • Tägliche Erinnerungen , um Informationen über das Problem zu erhalten, und Zusammenführungsanforderungen erfordern Ihre Aufmerksamkeit.
  • Benachrichtigungen - Um Benachrichtigungen von Mattermost zu erhalten, wenn jemand Sie erwähnt, Ihnen eine Überprüfungsanfrage sendet oder Sie ein Problem an GitLab weiterleitet.
  • – , , , merge request’ Mattermost.
  • – , merge request’ issue GitLab.

Jetzt verwendet sein gesamtes Unternehmen sowohl GitLab als auch Mattermost, um Workflows mit ChatOps zu beschleunigen. Infolgedessen konnten sie Aktualisierungen schneller bereitstellen, was zu einer Verdreifachung der Anzahl der Projekte und Mikrodienste führte, an denen das Team arbeitete, und zu einer Verdreifachung der Anzahl der Bereitstellungen in der Produktion im Laufe des Jahres, was mit dem 5-fachen Wachstum der Entwicklungsteams und Agronomen zu verzeichnen war.



Ein Softwareunternehmen verbessert die Produktivität, indem es den Code und die Konfiguration transparenter und transparenter macht.

Ein in Maryland ansässiges Software- und Datendienstunternehmen hat Mattermost in GitLab integriert, um die Produktivität zu steigern und nahtlos zusammenzuarbeiten. Sie führen Analysen durch, verwalten Daten und entwickeln Software für biomedizinische Organisationen auf der ganzen Welt.

GitLab wird in ihrem Team aktiv verwendet und sie betrachten seine Verwendung als großen Vorteil in ihren DevOps-Workflows.

Sie kombinierten auch GitLab und Mattermost und sammelten Commits mit GitLab in einem Kanal in Mattermost über Webhooks, wodurch das Management eine Vorstellung davon bekam, was an einem bestimmten Tag im Unternehmen passiert. Außerdem wurden Updates hinzugefügt, um Konfigurationen und Versionskontrolle zu verwalten, mit denen Sie einen Überblick über verschiedene Änderungen erhalten können, die tagsüber an der internen Infrastruktur und den internen Systemen vorgenommen wurden.

Das Team hat außerdem separate "Heartbeat" -Kanäle eingerichtet, um Benachrichtigungen über Anwendungsereignisse zu senden. Durch das Senden solcher Nachrichten an bestimmte Heartbeat-Kanäle können Sie Teammitglieder nicht von Arbeitsgesprächen in regulären Kanälen ablenken, sodass Teammitglieder separat zu Fragen wechseln können, die auf Heartbeat-Kanälen veröffentlicht wurden.

Einer der Hauptvorteile dieser Integration ist die Transparenz von Änderungen in verschiedenen Versionen und das Echtzeit-Konfigurationsmanagement. Sobald Änderungen festgeschrieben und gepusht werden, wird in Echtzeit eine Benachrichtigung an den Heartbeat-Kanal gesendet. Jeder kann einen solchen Kanal abonnieren. Kein Wechseln mehr zwischen Anwendungen, zusätzliche Fragen an Teammitglieder oder Nachverfolgung von Commits - all dies konzentriert sich jetzt auf Mattermost, während das Konfigurationsmanagement und die Anwendungsentwicklung in GitLab ausgeführt werden.

GitLab und Mattermost ChatOps erhöhen die Sichtbarkeit und Produktivität, um die Entwicklung zu beschleunigen.

Mattermost ist Teil des GitLab Omnibus-PaketsBereitstellung vorgefertigter GitLab SSO-Unterstützung, vorgefertigter GitLab-Integrationen und PostgreSQL-Unterstützung sowie Prometheus-Integration, die Systemüberwachung und Incident Response Management ermöglicht . Schließlich kann Mattermost jetzt mit GitLab Cloud Native bereitgestellt werden .

Bis zu diesem Zeitpunkt hatten DevOps-Teams noch nie ein besseres Tool mit den Vorteilen von ChatOps. Installieren Sie GitLab Omnibus mit Mattermost und probieren Sie es selbst aus!

Das ist alles. Wir laden traditionell alle zu einem kostenlosen Webinar ein , in dem wir die Merkmale der Interaktion von Jenkins und Kubernetes untersuchen, Beispiele für die Verwendung dieses Ansatzes betrachten und die Beschreibung des Plug-Ins und des Operators analysieren.

Source: https://habr.com/ru/post/undefined/


All Articles