Cómo los equipos de desarrollo corporativo usan GitLab y Mattermost ChatOps para acelerar el desarrollo

¡Hola de nuevo! En febrero, OTUS lanza el nuevo curso CI / CD en AWS, Azure y Gitlab . En la víspera del inicio del curso, preparamos una traducción de material útil.





Un conjunto completo de herramientas DevOps, un mensajero de código abierto y ChatOps: ¿cómo no enamorarse?

Nunca ha habido tanta presión sobre los equipos de desarrollo como lo es ahora, con este deseo de crear productos de manera más rápida y eficiente. La creciente popularidad de DevOps se debió en gran medida a las expectativas puestas en él para acelerar el ciclo de desarrollo, aumentar la flexibilidad y ayudar a los equipos a hacer frente más rápido. A pesar de que la disponibilidad y la exhaustividad de las herramientas DevOps ha mejorado significativamente en los últimos años, una simple selección de las herramientas más modernas y mejores no garantiza un ciclo de vida de desarrollo sin problemas y sin complicaciones.

Por que gitlab


En un ecosistema con opciones y complejidad exponencialmente crecientes, GitLab proporciona una plataforma DevOps de código abierto completa que puede acelerar el ciclo de desarrollo, reducir costos y aumentar la productividad del desarrollador. Desde la planificación y el código hasta la implementación y el monitoreo (y viceversa), GitLab combina muchas herramientas diversas en un conjunto de código abierto.

Por qué Mattermost ChatOps


En Mattermost, somos grandes admiradores de GitLab, por eso Mattermost viene con GitLab Omnibus y trabajamos para asegurarnos de que Mattermost se ejecute fácilmente con GitLab .

La plataforma abierta Mattermost ChatOps le permite proporcionar información relevante a su equipo y tomar decisiones directamente donde está la conversación. Cuando se produce un problema, el flujo de trabajo de ChatOps puede alertar a los miembros relevantes del equipo que trabajan juntos para resolver el problema directamente en Mattermost.

ChatOps proporciona una forma de interactuar con las tareas de CI / CD a través de mensajes. Hoy, dentro de las organizaciones, se han enviado a los mensajeros muchas discusiones, colaboraciones y soluciones a los problemas, y la capacidad de ejecutar tareas de CI / CD con salida que regresa al canal puede acelerar significativamente el proceso de trabajo del equipo.

Mattermost + GitLab


Un conjunto completo de herramientas DevOps, un mensajero de código abierto y ChatOps: ¿cómo no enamorarse? Usando GitLab y Mattermost, los desarrolladores no solo pueden simplificar su proceso DevOps, sino también transferirlo a la misma interfaz de chat donde los miembros del equipo discuten problemas, cooperan y toman decisiones.

Aquí hay algunos ejemplos de cómo los equipos de desarrollo comparten Mattermost y GitLab para mejorar su productividad con ChatOps.

ITK utiliza GitLab y Mattermost para entregar el código de una manera oportuna y aumenta el número de despliegues de producción de seis veces al año.
ITKCon sede en Montpellier, Francia, desarrolla herramientas y aplicaciones que ayudan a los agricultores a optimizar los procesos de cosecha, mejorar su calidad y gestionar mejor los riesgos.

Comenzaron a usar GitLab alrededor de 2014 y usaron principalmente la herramienta de chat obsoleta para el trabajo diario, los mensajes y las videollamadas. Sin embargo, a medida que la empresa creció, esta herramienta no escala con ellos; no había mensajes almacenados permanentemente y fáciles de encontrar, y el trabajo en equipo se hizo cada vez más difícil. Entonces comenzaron la búsqueda de una alternativa.

Poco después, descubrieron que el paquete GitLab Omnibus viene con la plataforma de mensajería abierta: Mattermost. Inmediatamente les gustó la funcionalidad simple de intercambio de código, incluido el resaltado automático de sintaxis y el soporte completo de Markdown, así como la facilidad de compartir conocimientos, la búsqueda de mensajes y la colaboración del equipo sobre ideas para desarrollar nuevas soluciones integradas con GitLab.

Antes de pasar a Mattermost, los miembros del equipo no podían recibir fácilmente notificaciones del proceso de desarrollo. Pero querían poder realizar un seguimiento visual de proyectos, fusionar solicitudes y realizar otras acciones en GitLab.

Fue entonces cuando Romain Maneski, un desarrollador de itk, comenzó a escribir el complemento GitLab para Mattermost, que más tarde permitió a su equipo suscribirse a las notificaciones de GitLab en Mattermost y recibir notificaciones de nuevos problemas y solicitudes de revisión en un solo lugar.

Hasta la fecha, el complemento admite :

  • Recordatorios diarios para obtener información sobre qué problema y solicitudes de fusión requieren su atención;
  • Notificaciones : para recibir notificaciones de Mattermost cuando alguien lo menciona, le envía una solicitud de revisión o le redirige un problema a GitLab.
  • – , , , merge request’ Mattermost.
  • – , merge request’ issue GitLab.

Ahora toda su compañía usa GitLab y Mattermost para acelerar los flujos de trabajo con ChatOps. Como resultado, pudieron entregar actualizaciones más rápido, lo que condujo a un aumento de tres veces en el número de proyectos y microservicios en los que el equipo está trabajando y un aumento de seis veces en el número de implementaciones en producción durante el año, y todo esto con el crecimiento de equipos de desarrollo y agrónomos en 5 veces.



Una compañía de software mejora la productividad al hacer que el código y la configuración sean más transparentes y transparentes.

Una compañía de software y servicios de datos con sede en Maryland también ha implementado Mattermost integrado con GitLab para aumentar la productividad y colaborar sin problemas. Realizan análisis, gestionan datos y desarrollan software para organizaciones biomédicas de todo el mundo.

GitLab se usa activamente en su equipo, y consideran su uso como una gran ventaja en sus flujos de trabajo de DevOps.

También combinaron GitLab y Mattermost, recopilando compromisos con GitLab en un canal en Mattermost a través de webhooks, lo que permitió a la gerencia tener una idea de lo que estaba sucediendo en la compañía en un determinado día "vista aérea". Además, se agregaron actualizaciones para administrar las configuraciones y el control de versiones, con lo que fue posible obtener una instantánea de varios cambios realizados en la infraestructura interna y los sistemas durante el día.

El equipo también estableció canales separados "Heartbeat" para enviar notificaciones sobre eventos de la aplicación. Al enviar dichos mensajes a ciertos canales de Heartbeat, no puede distraer a los miembros del equipo de las conversaciones de trabajo en los canales regulares, lo que permite a los miembros del equipo cambiar por separado a las preguntas publicadas en los canales de Heartbeat.

Una de las principales ventajas de esta integración es la transparencia de los cambios en las versiones y la gestión de la configuración en tiempo real. Tan pronto como se confirman y envían los cambios, se envía una notificación al canal Heartbeat en tiempo real. Cualquiera puede suscribirse a dicho canal. No más cambios entre aplicaciones, preguntas adicionales para los miembros del equipo o confirmaciones de seguimiento: ahora todo esto se concentra en Mattermost, mientras que la gestión de la configuración y el desarrollo de aplicaciones se llevan a cabo en GitLab.

GitLab y Mattermost ChatOps aumentan la visibilidad y la productividad para acelerar el desarrollo.

Mattermost viene como parte del paquete GitLab Omnibus.proporcionando soporte de SSO de GitLab preconstruido, integraciones de GitLab preempaquetadas y soporte de PostgreSQL, así como la integración de Prometheus, que permite el monitoreo del sistema y la gestión de respuesta a incidentes . Finalmente, Mattermost ahora se puede implementar utilizando GitLab Cloud Native .

Hasta este momento, los equipos de DevOps nunca habían tenido una herramienta mejor con los beneficios que tiene ChatOps. ¡Instale GitLab Omnibus con Mattermost y pruébelo usted mismo!

Eso es todo. Tradicionalmente, invitamos a todos a un seminario web gratuito , donde estudiaremos las características de la interacción entre Jenkins y Kubernetes, consideraremos ejemplos de cómo usar este enfoque y analizaremos la descripción del complemento y el operador.

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


All Articles