How enterprise development teams use GitLab and Mattermost ChatOps to accelerate development

Hello again! OTUS launches new course in February "CI/CD on AWS, Azure and Gitlab". In anticipation of the start of the course, a translation of useful material was prepared.

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

There has never been such pressure on development teams as there is now, with this desire to build products faster and more efficiently. The rise in popularity of DevOps has largely been the result of expectations placed on it to speed up the development cycle, increase agility, and help teams get to grips with problems faster. While the availability and sophistication of DevOps tools has improved dramatically in the past few years, simply choosing the most up-to-date and best tools does not guarantee a smooth, hassle-free development life cycle.

Why GitLab

In an ecosystem of exponentially growing choice and complexity, GitLab provides a complete open source DevOps platform that can speed up the development cycle, reduce development costs, and increase developer efficiency. From planning and coding to deployment and monitoring (and back again), GitLab brings together a wide variety of tools into one open suite.

Why Mattermost ChatOps

At Mattermost, we're big fans of GitLab, which is why Mattermost ships with GitLab Omnibus and we're working to make sure Mattermost runs easily with GitLab.

Open platform Mattermost ChatOps allows you to provide relevant information to your team and make decisions directly where the conversation is taking place. When an issue occurs, ChatOps workflow can alert the appropriate team members who work together to resolve the issue directly in Mattermost.

ChatOps provides a way to interact with CI/CD tasks through messaging. Today, inside organizations, a lot of discussions, collaborations, and problem solving are carried out in messengers, and having the ability to run CI / CD tasks with output coming back to the channel can significantly speed up the process of the team.

Mattermost + GitLab

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

Here are some examples of how development teams are using Mattermost and GitLab together to improve work efficiency with ChatOps.

Itk uses GitLab and Mattermost to deliver code on time and increase production deployments per year by six times
Itk based in Montpellier, France, develops tools and applications that help farmers optimize their harvesting processes, improve crop quality and manage risk more effectively.

They started using GitLab around 2014 and mostly used the outdated chat tool for daily work, messaging and video calls. However, as the company grew, this tool did not scale with them; there were no persistent, easy-to-find messages, and teamwork became increasingly difficult. So they started looking for an alternative.

Shortly thereafter, they discovered that the GitLab Omnibus package was bundled with an open source messaging platform: Mattermost. They immediately fell in love with the simple code sharing functionality, including automatic syntax highlighting and full Markdown support, as well as the ease of sharing knowledge, messaging search, and team collaboration on ideas to develop new solutions integrated with GitLab.

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

It was then that Romain Maneschi, a developer at itk, began writing a GitLab plugin for Mattermost, which later allowed his team to subscribe to GitLab notifications in Mattermost and receive notifications of new issues and review requests in one place.

Today plugin supports:

  • Daily Remindersto get information about which issue and merge requests require your attention;
  • Notifications - to be notified by Mattermost when someone mentions you, sends you a review request, or redirects you to an issue on GitLab.
  • Sidebar buttons - Keep up to date with how many reviews, unread messages, assignments, and open merge requests you currently have using the buttons on the Mattermost sidebar.
  • Project Subscriptions - use slash commands to subscribe to important channels to receive notifications of new merge requests or issues in 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 the team works on and a sixfold increase in the number of production deployments during the year, all while growing the development and agronomist teams 5 times.

How enterprise development teams use GitLab and Mattermost ChatOps to accelerate development

Software development company improves productivity through greater transparency and visibility into code and configuration changes

The Maryland-based software and data services company has also implemented Mattermost, which integrates with GitLab to increase productivity and collaborate seamlessly. They run analytics, manage data, and develop software for biomedical organizations around the world.

GitLab is heavily used by their team and they see it as a huge advantage in their DevOps workflows.

They also merged GitLab and Mattermost, gathering commits from GitLab into one channel in Mattermost via webhooks, allowing management to get a bird's eye view of what's going on in the company on a given day. Updates were also added for configuration management and version control, with which it was possible to receive 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 of app events. By posting these messages to specific Heartbeat channels, you can keep team members from working conversations in regular channels by allowing team members to individually switch to questions posted to Heartbeat channels.

One of the key benefits of this integration is the transparency of changes across versions and real-time configuration management. As changes are committed and pushed, a real-time notification is sent to the Heartbeat channel. Anyone can subscribe to this channel. No more switching between apps, no more questions from team members, or tracking commits - it's all in Mattermost now, while configuration management and application development is done in GitLab.

GitLab and Mattermost ChatOps increase visibility and productivity to accelerate development

Mattermost comes with GitLab Omnibus package, which provides out-of-the-box GitLab SSO support, pre-packaged GitLab integrations and PostgreSQL support, and Prometheus integration that enables system monitoring and control measures incident response. Finally, Mattermost can now be deployed with GitLab Cloud Native.

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

That's all. Traditionally, we invite everyone to free webinar, where we will study the features of the interaction between Jenkins and Kubernetes, consider examples of using this approach, and analyze the description of the plugin and operator.

Source: habr.com

Add a comment