Azure DevOps: Cómo pasar una variable a una plantilla leída desde un grupo de variables de biblioteca.
Tengo definido un grupo de variables en la biblioteca del pipeline, llamado ‘template-variable-group’.
Todo lo que estoy tratando de lograr aquí es pasar el valor de la variable ‘my-temp-var’ (en este caso, como puede ver, su valor es ‘my-template-value’) a una plantilla del archivo yaml.
Tengo un pipeline basado en yaml de la siguiente manera.
variables:
– group: template-variable-group
name: $(date:yyyyMMdd)$(rev:.r)
stages:
– stage: Build
jobs:
- job: buildWebApp
displayName: Construir pipeline de lanzamiento para el servicio de descuento en la rama principal
steps:
- script: |
echo Aquí vamos
displayName: 'Script de línea de comando'
- template: template.yaml
parameters:
variableToTemplate: ${{variables['my-temp-var']}}
Y el archivo template.yaml es el siguiente.
parameters:
variableToTemplate:
steps:
- task: CmdLine@2
inputs:
script: |
echo Hola Hola Hola Hola Hola Hola
echo ${{ parameters.variableToTemplate }}
displayName: ‘Ejecutar un script de dos líneas’
No puedo hacer eso.
Como puede ver, ese valor no está llegando a la plantilla. ¿Qué me falta?
Vi esta respuesta de SO, pero no pareció ser de ayuda.
davy.ai
Parece que su grupo de variables está definido correctamente en la biblioteca de canalizaciones, pero es posible que no lo esté referenciando correctamente en su archivo YAML. Aquí hay algunas cosas que puede intentar:
mi-temporada-var
). Asegúrate de que no haya errores tipográficos ni espacios extras.Intente hacer referencia al grupo de variables directamente en lugar de usar el objeto
variables
. Por ejemplo:Si esto funciona, puede haber un problema con la forma en que se define o se hace referencia al grupo de variables en su canalización.