How enterprise dev teams use GitLab and Mattermost ChatOps to accelerate development
(Note: This post was originally published by GitLab on about.gitlab.com.)
There has never been more pressure on development teams to build software faster and more efficiently. The rise in popularity of DevOps has largely been the result of its promise to speed up dev cycles, increase agility, and help teams resolve issues more quickly. And while the availability and sophistication of DevOps tools have improved greatly in the last few years, simply choosing the latest and greatest tools is no guarantee of a smooth, problem-free development lifecycle.
Why GitLab
In an ecosystem with exponentially increasing choice and complexity, GitLab provides a complete open source DevOps platform that can speed up cycles, reduce development costs, and improve developer efficiency. From planning and code to deployment and monitoring (and back again), GitLab brings a myriad of tools together into one open source toolset.
Why Mattermost ChatOps
We’re big fans of GitLab here at Mattermost, which is why Mattermost is packaged with GitLab Omnibus and why we work to make sure Mattermost is easy to set up with GitLab.
Mattermost’s open source ChatOps platform allows you to surface relevant information to your team and enables you to take action directly where you’re having conversations. When an issue comes in, a ChatOps workflow can alert relevant team members, who all work together to make a fix directly within Mattermost.
ChatOps provides a method to interact with CI/CD jobs through messaging. Many organizations’ discussion, collaboration, and troubleshooting is taking place in messaging services these days, and having a method to run CI/CD jobs with output posted back to the channel can significantly accelerate a team’s workflow. ChatOps not only increases communication and collaboration, but a searchable history of the conversations associated with your development cycle increases transparency and creates a repository of valuable information for the team.
Mattermost + GitLab
A complete DevOps toolchain plus open source messaging and ChatOps—what’s not to love? With GitLab and Mattermost, teams can not only simplify their DevOps process, but also bring their processes into the same chat interface where team members are discussing issues, collaborating, and making decisions.
Here are a couple of examples of how development teams use Mattermost and GitLab together to accelerate developer productivity through ChatOps.
itk uses GitLab and Mattermost to ship more code on time and 6x production deployments per year
Itk, based in Montpellier, France, develops tools and applications to help farmers optimize yields, increase the quality of crops, and manage risks more effectively.
They began using GitLab around 2014 and primarily used a legacy chat tool for day-to-day collaboration, messaging, and video calling. However, as the company grew, this tool didn’t scale with them; there was no persistent, easily searchable messaging, and collaboration across the team became more difficult. They began to look for an alternative.
Shortly thereafter, they discovered that the GitLab Omnibus package ships with an open-source messaging platform for developers: Mattermost. They immediately fell in love with its easy code-sharing capabilities—including automatic syntax highlighting and full Markdown support, and the ease of sharing knowledge, searching past conversations, and collaborating on ideas across the team to develop new solutions all integrated together with GitLab.
Before switching to Mattermost, team members hadn’t been able to easily get notified about their development process. But they wanted to be able to visibly track projects, merge requests, and other activities from GitLab.
This is when Romain Maneschi, a software developer at itk, began writing a GitLab plugin for Mattermost that would further enable his team to subscribe to GitLab notifications in Mattermost and receive notifications about new issue assignments and review requests in one place.
Today, the plugin supports:
- Daily reminders – get informed on what issues and merge requests need your attention
- Notifications – get notified in Mattermost when someone mentions you, requests your review, or assigns an issue to you on GitLab
- Sidebar buttons – stay up-to-date with how many reviews, unread messages, assignments and open merge requests you have with buttons in the Mattermost sidebar
- Subscribe to projects – use slash commands to subscribe to a Mattermost channel to receive notifications of new merge requests or issues in a GitLab project
Now, his whole company uses both GitLab and Mattermost to accelerate workflows through ChatOps. As a result, they now ship more code on time, resulting in 3x growth in the number of projects and microservices managed by the team and 6x growth in the number of production deployments within a year—all while growing their dev and agronomist teams by 5x.
A software development company increases productivity through better transparency and visibility into code and configuration changes
A software development and data services company based in the state of Maryland has also rolled out Mattermost integrated with GitLab to increase productivity and seamlessly collaborate. They provide analytics, data management, and software development services to biomedical researchers and organizations worldwide.
GitLab is heavily used across their team and they consider it a huge asset in their DevOps workflows.
They have also integrated GitLab and Mattermost together by pushing GitLab commits to a single Mattermost channel via webhooks, enabling senior management to get a bird’s-eye view of everything that’s rolling through in a given day. It includes updates for configuration management and version control, giving a snapshot of different changes made to internal infrastructure and systems throughout the day.
The team has also set up separate “Heartbeat” channels to send notifications on application events. Having these messages funnel to specific Heartbeat channels avoids distracting the flow of conversations in regular project collaboration channels while empowering team members to jump on issues posted in the Heartbeat channels.
One of the key benefits this integration brings to the team is the visibility of changes made to versions and configuration management in real time; as soon as a change is committed and pushed live, a notification is sent to the Heartbeat channel which anyone can subscribe to. No more switching between apps, asking team members, or tracking down commits—it’s now all in one place inside Mattermost while configuration management and app development takes place in GitLab.
GitLab and Mattermost ChatOps improve transparency and productivity to accelerate development
Mattermost ships as part of the GitLab Omnibus package, providing out-of-the box support for GitLab SSO, pre-packaged GitLab integrations, and PostgreSQL support, along with a Prometheus integration that enables systems monitoring and incident response management. Mattermost can now also be deployed with GitLab Cloud Native.
There’s never been a better time for DevOps teams to get the full benefits of open source ChatOps. Try it out by installing GitLab Omnibus with Mattermost today.