Cómo ejecutar en el Pipeline de Azure DevOps una tarea personalizada
Cuando preparamos los Pipelines de Azure DevOps, normalmente no modificaremos la plantilla del pipeline con sus pasos y tareas.
Más que nada porque todas las tareas que incluye el script yaml del pipeline contiene los pasos básicos necesarios que casi cualquier proceso de integración continua necesitará.
Sin embargo, lo lógico es que modifiquemos la plantilla para adecuarla a nuestras necesidades si es que no se cubre en la plantilla las mismas.
De hecho, lo que vamos a ver a continuación es cómo podemos ejecutar alguna tarea extra dentro del proceso y que no venga configurado por defecto.
Lo primero que tendremos que tener es lógicamente un Pipeline creado, ya que la primera acción que haremos será acceder al Pipeline y seleccionar la opción de editarlo.
Dentro del código del script yaml, agregaremos una tarea nueva, que en mi caso la he indicado al principio de todo el proceso con el siguiente código:
steps:
– task: CmdLine@2
inputs:
script: ‘dotnet –info’
Existen diferentes tipos de tareas que podemos indicar.
En mi caso concreto, he querido ejecutar una tarea de línea de comandos.
Por esta razón, se utiliza como tipo de tarea: CmdLine@2
CmdLine@2 utilizará en Windows cmd.exe, y bash en macOS y Linux.
Luego podremos indicar diferentes parámetros de entrada, aunque en mi caso el comando elegido es un comando directo: dotnet –info
Con este comando como ya sabrás, obtendré en pantalla la información de versiones .NET Core instaladas en el sistema.
Puedes obtener más información sobre tareas personalizadas y en concreto sobre la tarea de línea de comandos que he usado en este enlace.
Una vez modificado el script, lo guardaremos y ejecutaremos el pipeline para comprobar que todo está en orden.
Cuando concluya el script completo, podremos verificar todo haciendo clic sobre la opción Initialize job.
Dentro de esta opción, veremos claramente que nuestra nueva tarea parece haberse inicializado correctamente.
Y lógicamente lo vemos en la lista de tareas.
Si accedemos a la tarea haciendo clic sobre ella, accederemos a la información de dicha tarea.
Comprobaremos que el script se ha ejecutado correctamente, apareciendo en el resultado de la ejecución del script lo que pretendíamos obtener.
Como podemos observar, dentro de los Pipelines de Azure DevOps, podemos no sólo utilizar las plantillas por defecto de ejecución de Pipelines que Microsoft nos ofrece, sino también personalizarlas ejecutando aquellos comandos o acciones extras que queremos o necesitamos ejecutar.
Como nota adicional, comentar que podemos personalizar el nombre del paso a ejecutar utilizando displayName.
Por lo tanto, el paso que he configurado antes podría quedar de la siguiente forma:
steps:
– task: CmdLine@2
displayName: ‘DotNet Info’
inputs:
script: ‘dotnet –info’
Sirva este pequeño ejemplo para demostrar algunas de sus posibilidades.
Happy Coding!