В настоящее время я работаю с Azure Devops Build Pipelines и пытаюсь вызвать файл шаблона для выполнения некоторых задач из моей сборки yaml.
У меня возникают трудности с передачей параметров в файл шаблона , Предположим, что это мой шаблонный файл (упрощенный), который прекрасно работает:
parameters:
iterations: []
steps:
- ${{ each i in parameters.iterations }}:
- task: PowerShell@2
displayName: "Get key values ${{i}}"
name: getKeyValues_${{i}}
inputs:
targetType: 'inline'
script: |
$item = "${{i}}"
Write-Host "item : $($item)"
$keyVal = $item -split "_"
Write-Host $keyVal
Write-Host "key: $($keyVal[0]) | value: $($keyVal[1])"
echo "##vso[task.setvariable variable=key;isOutput=true]$($keyVal[0])"
echo "##vso[task.setvariable variable=value;isOutput=true]$($keyVal[1])"
Итак, я хочу, чтобы мой параметр итераций содержал что-то вроде этого:
iterations: ["1_60", "2_40"]
Внутри моего конвейера Yaml у меня есть следующий код (также упрощенный):
Не работает сценарий
- task: PowerShell@2
displayName: Calculate iterations for $(copies) copies
name: calculateIterations
inputs:
targetType: 'inline'
script: |
# Do some stuf here to get the arrow below from int value = 100
$iterations = ["1_60, "2_40"]
echo "##vso[task.setvariable variable=iterations;isOutput=true]$($iterations)"
- template: container-template.yml
parameters:
iterations: $(calculateIterations.iterations)
Рабочий сценарий
- task: PowerShell@2
displayName: Calculate iterations for $(copies) copies
name: calculateIterations
inputs:
targetType: 'inline'
script: |
# Do some stuf here to get the arrow below from int value = 100
$iterations = ["1_60, "2_40"]
echo "##vso[task.setvariable variable=iterations;isOutput=true]$($iterations)"
- template: container-template.yml
parameters:
iterations: ["1_60, "2_40"]
Как видите, проблема в том, что я не могу используйте выходную переменную моего скрипта, чтобы передать его в качестве параметра моему шаблону. Когда я запускаю неработающий сценарий, у меня появляется следующая ошибка:
Я нашел эту запись , но пока не найдено решений ...