How corporate development teams use GitLab and Mattermost ChatOps to speed development

Hello again! In February, OTUS launches the new CI / CD course on AWS, Azure, and Gitlab . On the eve of the start of the course, we prepared a translation of useful material.





A complete set of DevOps tools, an open source messenger and ChatOps - how can you not fall in love?

There has never been such pressure on the development teams as it is now, with this desire to create products faster and more efficiently. The growing popularity of DevOps was largely a result of the expectations placed on him to speed up the development cycle, increase flexibility and help teams cope with problems faster. Although the availability and comprehensiveness of DevOps tools has improved significantly over the past few years, simply selecting the most advanced and best tools does not guarantee a smooth, hassle-free development life cycle.

Why gitlab


In an ecosystem with exponentially growing choices and complexity, GitLab provides a full-fledged open source DevOps platform that can accelerate the development cycle, reduce costs and increase developer productivity. From planning and code to deployment and monitoring (and vice versa), GitLab combines many diverse tools into one open source suite.

Why Mattermost ChatOps


At Mattermost, we are big fans of GitLab, which is why Mattermost comes with GitLab Omnibus and we work to make sure that Mattermost runs easily with GitLab .

The open platform Mattermost ChatOps allows you to provide relevant information to your team and make decisions directly where the conversation is. When a problem occurs, ChatOps workflow can alert relevant team members who are working together to resolve the problem directly in Mattermost.

ChatOps provides a way to interact with CI / CD tasks through messaging. Today, within organizations, a lot of discussions, collaborations and solutions to problems have been submitted to instant messengers, and the ability to run CI / CD tasks with output that returns back to the channel can significantly speed up the team's work process.

Mattermost + GitLab


A complete set of DevOps tools, an open source messenger and ChatOps - how can you not fall in love? Using GitLab and Mattermost, developers can not only simplify their DevOps process, but also transfer it to the same chat interface where team members discuss problems, cooperate and make decisions.

Here are a few examples of how development teams share Mattermost and GitLab to improve their productivity with ChatOps.

Itk uses GitLab and Mattermost to deliver code in a timely manner and increases the number of production deployments six times per year.
Itkbased in Montpellier, France, it develops tools and applications that help farmers optimize harvesting processes, improve their quality and manage risks more effectively.

They started using GitLab around 2014 and mostly used the obsolete chat tool for daily work, messaging and video calls. However, as the company grew, this tool did not scale with them; there were no permanently stored, easily found messages, and teamwork became increasingly difficult. So they began the search for an alternative.

Soon after, they discovered that the GitLab Omnibus package comes with the open messaging platform: Mattermost. He immediately liked the simple code-sharing functionality, including automatic syntax highlighting and full Markdown support, as well as ease of knowledge sharing, message search and team collaboration on ideas for developing new solutions integrated with GitLab.

Before moving to Mattermost, team members could not easily receive notifications of the development process. But they wanted to be able to visually track projects, merge requests, and perform other actions in GitLab.

It was then that Romain Maneski, an itk developer, started writing the GitLab plugin for Mattermost, which later allowed his team to subscribe to GitLab notifications in Mattermost and receive notifications of new issue and requests for review in one place.

To date, the plugin supports :

  • Daily reminders to get information about which issue and merge requests require your attention;
  • Notifications - to receive notifications from Mattermost when someone mentions you, sends you a review request or redirects you an issue to GitLab.
  • – , , , merge request’ Mattermost.
  • – , merge request’ issue GitLab.

Now his entire company uses both GitLab and Mattermost to speed up workflows with ChatOps. As a result, they were able to deliver updates faster, which led to a threefold increase in the number of projects and microservices that the team was working on and to a sixfold increase in the number of deployments in production during the year, all this with the growth of development teams and agronomists by 5 times.



A software company improves productivity by making the code and configuration more transparent and transparent.

A software company and data services company based in Maryland has also implemented Mattermost integrated with GitLab to increase productivity and seamlessly collaborate. They conduct analytics, manage data and develop software for biomedical organizations around the world.

GitLab is actively used in their team, and they consider its use as a huge advantage in their DevOps workflows.

They also combined GitLab and Mattermost, collecting commits with GitLab in one channel in Mattermost via webhooks, which allowed management to get an idea of ​​what is happening in the company on a certain day “aerial view”. Also, updates were added to manage configurations and version control, with which you could get a snapshot of various changes made to the internal infrastructure and systems during the day.

The team also set up separate “Heartbeat” channels to send notifications about application events. By sending such messages to certain Heartbeat channels, you can not distract team members from working conversations in regular channels, allowing team members to switch separately to questions published on Heartbeat channels.

One of the key benefits of this integration is the transparency of changes across versions and real-time configuration management. As soon as changes are committed and pushed, a notification is sent to the Heartbeat channel in real time. Anyone can subscribe to such a channel. No more switching between applications, extra questions for team members or tracking commits - now all this is concentrated in Mattermost, while configuration management and application development are carried out in GitLab.

GitLab and Mattermost ChatOps increase visibility and productivity to speed development

Mattermost comes as part of the GitLab Omnibus packageproviding pre-built GitLab SSO support, pre-packaged GitLab integrations and PostgreSQL support, as well as Prometheus integration, which enables system monitoring and incident response management . Finally, Mattermost can now be deployed using the GitLab Cloud Native .

Up until this point, DevOps teams have never had a better tool with the benefits that ChatOps has. Install GitLab Omnibus with Mattermost and try it for yourself!

That's all. We traditionally invite everyone to a free webinar , where we will study the features of the interaction of Jenkins and Kubernetes, consider examples of using this approach, and analyze the description of the plug-in and operator.

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


All Articles