Implementación de un bot de ChatOps compatible con varias plataformas de chat para interactuar con un entorno basado en microservicios

Arenas Rodríguez, David (2017). Implementación de un bot de ChatOps compatible con varias plataformas de chat para interactuar con un entorno basado en microservicios. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Descripción

Título: Implementación de un bot de ChatOps compatible con varias plataformas de chat para interactuar con un entorno basado en microservicios
Autor/es:
  • Arenas Rodríguez, David
Director/es:
  • García Martín, Julio
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería Informática
Fecha: Junio 2017
Materias:
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

ChatOps, un término atribuido a GitHub, representa un modelo de desarrollo de software en el que la mayor parte de las operaciones se realizan a través de un chat, donde un equipo se comunica con un bot que interpreta comandos escritos por los usuarios y permite automatizar numerosas tareas del flujo de trabajo. Éstas pueden ser prácticamente cualquier cosa: desde revisión de código, compilación, tests, actualización y despliegue de servicios, hasta avisos, control y asignación de tareas, control de versiones, conexión con servicios de terceros, etc. Los bots más conocidos y usados a día de hoy son Hubot, Lita y Err, y se pueden conectar con servicios de chat como Slack, Campfire, Rocket.Chat, Mattermost… Este proyecto ha consistido en programar desde cero un bot similar a los ya existentes, pero con las siguientes características: -Que sea en Go. -Que sea modular y se pueda extender. -Que sea capaz de conectarse a entornos de microservicios. -Que se puedan ejecutar comandos interactivos (mantener un contexto de conversación con el bot). -Que sea compatible con varios clientes de chat, aunque en el proyecto sólo se implementará un adaptador para un servicio de chat en concreto: Rocket.Chat.---ABSTRACT---ChatOps, a term attributed to GitHub, represents a software development model in which most operations are performed through a chat, where members of a development team communicate with a bot that interprets commands written to it and allows the team to automate several workflow tasks. These can be actually any kind of task, from code review, compilation, testing, updating and deploying services, to notifications, control and assignment of tasks, version control, connection with third party services, etc. The most popular and used bots today are Hubot, Lita and Err, and can be connected with chat services like Slack, Campfire, Rocket.Chat, Mattermost, and others. This project has consisted of programming from scratch a bot similar to the existing ones, but with the following characteristics: -It must be written in Go. -Its design has to be modular and extensible. -It should be able to connect to microservice environments. -It should allow users to run interactive commands (maintain a conversation context with the bot). -It must be compatible with several chat clients, although in this project only one adapter will be implemented for a specific chat service: Rocket.Chat.

Más información

ID de Registro: 47758
Identificador DC: http://oa.upm.es/47758/
Identificador OAI: oai:oa.upm.es:47758
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 14 Sep 2017 11:44
Ultima Modificación: 14 Sep 2017 11:45
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM