Monitorear procesos en máquina virtual donde corren los agentes de compilación de Azure DevOps con Power Platform
Un saludo desde Colombia, quiero compartir contigo un proceso automático previamente construido aprovechando el poder ilimitado de las herramientas Microsoft. Este proceso me ha ayudado en la ejecución de tareas repetitivas beneficiando a mi equipo y otras personas con interés en el resultado del mismo.
¿Por qué algunos nombres estarán en inglés? La mayor fuente de información sobre el uso de esta herramienta hoy y mañana estará en inglés. Are you ready! Ok let’s go
Haremos uso del conector estándar when a HTTP request is received by Microsoft Team.
Utilizaremos objetos de tipo compose, estos al no ser catalogados como conectores tendrán un papel importante en la construcción del proceso.
El flujo es de tipo Cloud Flow ¿Qué es? Un flujo de nube es responsable de ejecutar una o varias tareas de forma automática una vez un evento lo desencadene.
Si se usan agentes hospedados por Microsoft, las actualizaciones y el mantenimiento se realizarán automáticamente. Cada vez que ejecute una canalización, obtendrá una nueva máquina virtual para cada trabajo de la canalización. La máquina virtual se descarta después de un trabajo / By Microsoft
¿Por qué este Proceso?
En una VM corren procesos de liberación de código de interés para un tipo de negocio y se requiere tener una estrategia de monitoreo para cuando ocurran errores en todo el ciclo DevOps.
Una forma de desarrollar un proceso que cumpla este fin. Es el uso de la suite de Power Platform y obtener este resultado.
¿Qué vamos hacer en este proceso?
A través de las variables del agente (DevOps Services) donde estás pueden ser utilizadas como parámetros en las tareas de compilación; Obtendremos unos valores necesarios para ayudar a monitorear errores al momento de compilar un proyecto de código.
Compartiré en los adjuntos la documentación oficial del proveedor para que a futuro puedas validar nuevas variables que apoyen la construcción de una gran idea.
Las variables a usar serán:
Agent.JobStatus: Estado de la compilación.
Build.Reason : Evento que provocó la ejecución de la compilación
Build.Repository.Provider : Tipo del respositorio desencadenador.
Recomendado por LinkedIn
Build.Repository.Name : Tipo del respositorio desencadenador.
Build.SourceVersionMessage : Comentario de la confirmación o conjunto de cambios del repositorio desencadenador. Truncamos el mensaje a la primera línea o 200 caracteres, lo que sea más corto.
Build.SourceBranchName : Nombre de la rama en el repositorio desencadenador para el que se puso en cola la compilación.
¿Cómo funciona este proceso?
Desde la herramienta de Azure DevOps mediante proceso de CI / CD haremos la compilación de un proyecto de código (Front End - Back End y Servicios).
El proceso de compilación será detonado de forma automática desde un repositorio de código; Esto ocurrirá en las máquinas virtuales administradas por Azure DevOps, donde se podrá obtener las variables anteriormente relacionadas.
Estas variables serán enviadas a Power Platform por medio de la tarea Azure PowerShell Script: Inline Script
Ahora haremos uso del conector when a HTTP request is received encargado de recibir vía parámetros desde el Power Shell de Azure DevOps el grupo de variables a utilizar.
El grupo de variables se reciben en un objeto, el cual se recomienda convertir a un objeto de tipo JSON para ellos usamos el componente Parse JSON allí recibe en la sección del body recibe el body del conector when a HTTP request is received y el Shema es un formato de tipo JSON con las 6 seis variables del agente de azure DevOps
En la sección de condition, se encuentra una validación con la variable Agent.JobStatus donde si el resultado es SuccededWithIssues o Failed los valores de las variables son relacionados en una tarjeta adaptativa y enviada a una canal de Microsoft Team.
Hasta acá tienes un proceso totalmente automático que es capaz de escuchar los cambios de un branch y detonar compilaciones de código, enviar variables a Power Platform para luego hacer una publicación en los errores ocurridos en la compilación a un canal de Team.
That’s All Folks; Recuerden crear y siempre compartir, de seguro habrá alguien por ahí, desconociendo lo que tú. ¡Si sabes!
“No insistas en el pasado, no sueñes con el futuro, concentra tu mente en el momento presente” - Buda Gautama