Una guía del administrador del sistema para configurar la colaboración con Mattermost

La buena colaboración suele ser un factor clave en los equipos exitosos. La colaboración es el proceso de trabajar juntos hacia un objetivo común, con equipos que trabajan juntos hacia un objetivo común, adaptándose según sea necesario utilizando los recursos disponibles.

Proporcionar las herramientas adecuadas para facilitar la colaboración puede ser la diferencia entre un lugar de trabajo eficiente y uno ineficiente. En las esferas de código abierto y cerrado, encontrará una gran cantidad de herramientas de colaboración. Algunos ofrecen una plataforma simple con los conceptos básicos de mensajería instantánea y llamadas de voz. Otros van más allá y agregan videoconferencias, complementos personalizados, integraciones de integración continua/desarrollo continuo (CI/CD), cuentas de bot y más.

Elegir una suite de colaboración que sea tanto de código abierto como alojada localmente ofrece muchas ventajas a los administradores de sistemas.. Con el software de código abierto a menudo viene la conveniencia de una innovación más rápida, una seguridad mejorada y una mayor flexibilidad. Tener la capacidad de alojar una solución internamente en lugar de verse obligado a utilizar una solución basada en la nube también puede ser una gran ventaja para algunas empresas, especialmente aquellas con políticas de seguridad estrictas.

Puede ser difícil encontrar una solución que satisfaga todas sus necesidades de inmediato, y todo depende del producto que le brinde la flexibilidad para adaptarlo a sus necesidades específicas.

Lo mas importante es uno de esos productos. El ofrece:

  • Una excelente plataforma de lanzamiento
  • Una plataforma de colaboración básica y sencilla que ofrece una gran cantidad de integraciones listas para usar
  • Una arquitectura que permite complementos
  • A kit de herramientas para desarrolladores para ayudarlo a personalizar una solución que satisfaga sus necesidades específicas

Comercializado como una alternativa de código abierto a Slack y Teams, Mattermost tiene una interfaz limpia y reconocible e incluye muchas características que encontrará en sus contrapartes de código cerrado. Entonces, sin más preámbulos, comencemos con una descripción general de un contenedor Mattermost.

Índice

Despliegue del contenedor Mattermost

  1. Extraiga la imagen del contenedor de vista previa de Mattermost:
    $ podman image pull docker.io/mattermost/mattermost-preview
  2. Implemente el contenedor Mattermost:
     $ podman run -d 
    --name mattermost 
    --publish 8065:8065 
    --network host 
    mattermost/mattermost-preview
  3. El contenedor tardará unos 30 segundos en iniciarse, después de lo cual puede abrir un navegador web y dirigirse a http : //localhost:8065.
  4. En la página de inicio, ingrese su dirección de correo electrónico, nombre de usuario y contraseña. En la página siguiente, se le solicita una lista de equipos para unirse. Al ser una instalación nueva, no encontrará ningún equipo, así que inicie uno desde el principio. Haga clic en crear un equipo, ingrese el nombre del equipo deseado y acepte la URL predeterminada generada en la última página. Usé el nombre del equipo "Red Fedora".
  5. Finalmente, aparece un tutorial de tres pasos, pero no dude en omitirlo.

Bienvenido a su nuevo despliegue de Mattermost. Eche un vistazo y familiarícese con la interfaz de Mattermost. Puedes acceder a todo lo que necesites desde el icono de la hamburguesa (tres líneas horizontales) en la parte superior izquierda, y no olvides consultar la Consola del sistema para comprender cómo puede configurar Mattermost bajo el capó.

Explora otras características

Al implementar una instancia de producción de Mattermost, hay muchos botones y conmutadores que deben activarse, como la configuración de SSL, SMTP, el ajuste fino del servidor web, etc. Para abreviar, voy a omitir todo eso y centrarme en algunas de las otras funciones de Mattermost disponibles a través de complementos e integraciones.

Complementos

  1. Abra el menú Configuración con el ícono de la hamburguesa y navegue hasta Marlet. Al momento de escribir este artículo, la imagen de vista previa enumera 30 complementos que puede instalar directamente desde Marketplace, pero estos no son de ninguna manera todos los complementos disponibles. Puede encontrar una lista completa de complementos disponibles en el página web del mercado.
  2. Entre los 30 complementos disponibles, encuentre el memes de complementos, luego haga clic Instalar.
  3. Una vez instalado el complemento, haga clic en Configurar, que te llevará a Consola del sistema página de configuración de este plugin. Como este es solo un complemento básico, solo puede habilitarlo o deshabilitarlo, así que seleccione Real seguido por Para salvaguardar.
  4. Regrese a la página del equipo haciendo clic en el volver a rojo-fedora enlace en la parte superior izquierda.
  5. Accede a todos los canales disponibles y en el campo de chat escribe /incluso seguido de un espacio; esto le dará una lista de memes disponibles. Elegí el meme de Gatsy escribiendo /meme gatsby.
(Thomas Tuffin, CC BY-SA 4.0)

integraciones

  1. Navegue al menú principal y vaya a Integraciones -> Webhooks salientes -> Agregar webhook saliente.
  2. Introduce los valores en sus respectivos campos:
    • Título: obtener el estado de la compilación
    • Tipo de contenido: aplicación / json
    • Canal: Fuera de tema
    • Palabras desencadenantes:! estado de compilación
    • Activar cuando: La primera palabra corresponde exactamente a una palabra desencadenante
    • URL de devolución de llamada: http://127.0.0.1:8080/
      Notar: No dude en cambiar el puerto en la URL de devolución de llamada si entra en conflicto con el que ya está en uso en el host de su contenedor. Solo asegúrese de usar el puerto correcto en los pasos restantes.
  3. después de llamar Para salvaguardar, obtendrá una identificación de token; Por lo general, tomará nota y usará esa identificación, pero puede hacer clic en Hacer para este tutorial.
  4. Para que la integración funcione, debe permitir la conectividad no confiable a su host de contenedor, lo cual puede hacer yendo a Consola del sistema -> Entorno -> Desarrollador entonces agarra 127.0.0.1 anfitrión local abajo Permitir conexiones internas que no sean de confianza.
    (Thomas Tuffin, CC BY-SA 4.0)
  5. A continuación, cree un servidor web en el host de su contenedor que escuche en el puerto 8080. Puede lograr esto con unas pocas líneas de código Python y usando el http.server y json bibliotecas, las cuales están incluidas en las bibliotecas estándar de Python. El siguiente código ha sido probado en Python 3.8.6 pero también debería funcionar con Python 3.3+:
    from http.server import BaseHTTPRequestHandler, HTTPServer
    import json
    
    hostname = "localhost"
    http_port = 8080
    
    
    class MyHTTPServer(BaseHTTPRequestHandler):
       def do_POST(self):
           self.send_response(200)
           self.send_header("Content-type", "application/json")
           self.end_headers()
    
           c_length = int(self.headers.get('content-length'))
           data_rcv = json.loads(self.rfile.read(c_length))
           mm_token = data_rcv['token']
           data_snd = {"text":
           "| OS Build | Tests Run | Issues Detected      |n"
           "|:---------|:----------|:---------------------|n"
           "| RHEL     | 534       | :white_check_mark: 0 |n"
           "| Fedora   | 856       | :warning: 2          |",
           "mattermost_token": mm_token
           }
           self.wfile.write(bytes(json.dumps(data_snd), "utf-8"))
    
    
    if __name__ == "__main__":
       web_server = HTTPServer((hostname, http_port), MyHTTPServer)
       web_server.serve_forever()
  6. Tome el bloque de código de arriba y colóquelo en un archivo llamado http_server.py en algún lugar de su host contenedor. Es posible que deba ajustar firewalld y configurar SELinux para permitir que funcione correctamente.
  7. Para iniciar el servidor web, ejecute python http_server.py desde una terminal. El servidor web se ejecuta continuamente hasta que lo termina con control+contra, así que asegúrese de hacer esto cuando haya terminado. No verá ninguna salida en stdout hasta un POST se envía al servidor.
  8. Regrese a Mattermost y vaya a Fuera de tema canal. En el campo de texto, ingrese estado de compilación y presiona Entrar. Debería ver inmediatamente una respuesta con una matriz bien formateada que contiene los datos estáticos que definió en la secuencia de comandos de su servidor web de Python.

Ha configurado la conectividad entre Mattermost y su aplicación. Ahora le toca a su aplicación proporcionar datos significativos. Siéntase libre de jugar con el script de Python y actualizar el data_snd["text"] tecla del diccionario para devolver lo que quieras.

Envoltura

Este artículo presentó la herramienta de colaboración de código abierto Mattermost. Una instalación básica de Mattermost es rápida y fácil y es un gran punto de partida, pero el verdadero poder radica en poder personalizarlo según sus necesidades exactas. Esto se logra mediante el uso de algunos de los muchos complementos disponibles o mediante el desarrollo de integraciones personalizadas que satisfagan sus necesidades específicas.

Mattermost le brinda la plataforma de lanzamiento para crear la herramienta de colaboración perfecta para su entorno, pero ahora es su turno de hacerlo realidad.


Si quieres conocer otros artículos similares a Una guía del administrador del sistema para configurar la colaboración con Mattermost puedes visitar la categoría Skills development.

Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información