Como pasar variables entre la Build y la Release en Azure DevOps

El otro día, montando un pileline en Azure DevOps, me encontré con una situación en la que según un valor que se obtiene en tiempo de Buid, tenia que ejecutar o no, una tarea en tiempo de Release.

Actualmente (no se si en el futuro lo implementarán) no se pueden pasar variables entre la build y la release, así que tuve que utilizar un pequeño workarround muy sencillo:

Guardar el valor en un fichero que añado al artifact, que luego leeré en la Release.

Existe en el marketplace una tarea que a priori hace esto mismo. Yo no la he probado pero parece que funciona. Si puedes, úsala y ya lo tendrás resuelto:

Variable Tools for Azure DevOps Services

Pero si estas trabajando para una organización, en la que no controlas la instalación de extensiones y que además tiene mucha burocracia, has de pensar muy bien cada petición de instalar nuevas extensiones. Si este es tu caso, aquí te explico como hacerlo con PowerShell.

Sigue leyendo Como pasar variables entre la Build y la Release en Azure DevOps

Tareas de Azure DevOps: ARM Outputs

Voy a iniciar una serie de entradas para ir comentando algunas tareas de Azure DevOps que por un motivo u otro me han facilitado la vida. Voy a empezar con ARM Outputs. Esta tarea no viene por defecto y hay que descargarla e instalarla desde el Market.

Esta tarea nos permite obtener valores que hemos definido como outoputs en una plantilla ARM para poder utilizarlos posteriormente como variables en las siguientes tareas. Por ejemplo, podemos definir como outputs las distintas claves de servicios creados por ARM, que después podemos usar para insertar en valores de settings.

Sigue leyendo Tareas de Azure DevOps: ARM Outputs

Gestionar agentes de compilación en VSTS (Visual Studio Team Services)

Si quieres tener un equipo ágil y que tus pasos a producción no sean un calvario, deberías plantearte muy seriamente implantar integración y entrega continua. Como ya estoy explicando en otras entradas (I, II y las que quedan…) Visual Studio Team Services es una herramienta de Microsoft en la nube que nos permite hacerlo. Para poder hacer integración continua necesitamos centralizar y automatizar la compilación del código. De esta forma podemos asegurar que todo va bien cuando intentamos, por ejemplo, integrar nuestra rama de desarrollo con master. Para gestionar todo esto VSTS tiene un sistema de “Builds” muy potentes que veremos en próximas entradas.

Sigue leyendo Gestionar agentes de compilación en VSTS (Visual Studio Team Services)