Al momento de trabajar con los pipelines dentro de Azure va a llegar el momento en el que debas utilizar una de dos opciones. Ya sea que termines usando parámetros o variables definitivamente vas a caer en una de estas y puede ser que al pensar en utilizarlas quieras seleccionar la opción adecuada. Al principio y con poca práctica la cosa se puede hacer aún más difícil así que este artículo podrá ser de ayuda para clarificar la opción.
En este artículo vamos a platicar acerca de los parámetros y sus usos. Si quieres hablar de las variables, puedes ir al artículo correspondiente aquí.
Parámetros
Los parámetros se utilizan principalmente para obtener valores de entrada en los que el usuario pueda fijarlos antes de ejecutar el pipeline. Se puede establecer una colección predeterminada de datos para limitar las opciones.
Veamos los ejemplos y casos más importantes.
Los parámetros se pasan usando la siguiente notación (a diferencia de las variables).
parameters : { string : any }
Esto marca una diferencia importante con respecto a las variables, significa que es posible que tengas valores diferentes a solo cadenas y además, podrás hacer una colección de datos. Un ejemplo muy bueno es el siguiente (se trata de una imagen únicamente para fines demostrativos).

Al momento de ejecutar este pipeline es donde encontrarás una diferencia. Ahora aparecerá una opción que te permita escoger la máquina virtual que utilizarás.

Agrega algunos cuantos parámetros para poder jugar con ellos cuando lo ejecutes. Yo puse algunos como estos para poder demostrar la posibilidad de utilizar objetos más complejos.

Otra ventaja de gran utilidad es la posibilidad de utilizar expresiones. De esta manera podrás establecer condiciones. A continuación podrás ver un ejemplo de cómo luce una condición.
- job: condition: and (succeeded(), eq(${{ parameters.isJobExecuted }}, true)) displayName: Excluded job pool: vmImage: ${{ parameters.image }} steps: - script: echo I wont be displayed displayName: 'Excluded job' |
En este caso, tu puedes decidir por medio de la pestaña de ejecución si correr o no el parámetro esperado.

Aquí hay algo importante. Los parámetros son obtenidos en el tiempo de compilación y las variables en tiempo de ejecución. Esto es la consideración más importante a tener en cuenta. Debo confesar que esto me costó mucho trabajo de comprender y de hecho aún guardo un ejemplo que muestra una gran definición que me permitió entenderlo. Se trata de obtener un grupo de variables gracias a la selección del parámetro que indica el nombre del grupo que quieras utilizar.
trigger: - main pool: vmImage: 'ubuntu-latest' parameters: - name: group displayName: Group Name type: string default: TestGroup values: - TestGroup - Group2 - Group3 - Group4 variables: - group: ${{ parameters.group }} steps: - script: | echo $(Name) displayName: 'Muestra el grupo de variables' |
Lo que los hacen el tipo de dato a utilizar en el momento de crear plantillas para tus pipelines. Aquí hay una desventaja, los parámetros son excelentes para las plantillas pero para la ejecución de los pipelines por medio de la línea de comandos la tarea cae sobre las variables encontrando así la mezcla perfecta con un trabajo entre ambas. Una manera que exploramos en este artículo.