我目前正在使用 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])"
Run Code Online (Sandbox Code Playgroud)
所以我希望我的迭代参数包含这样的内容:
iterations: ["1_60", "2_40"]
Run Code Online (Sandbox Code Playgroud)
在我的 Yaml 管道中,我有以下代码(也经过简化):
- task: PowerShell@2
displayName: Calculate iterations for $(copies) copies
name: calculateIterations
inputs: …Run Code Online (Sandbox Code Playgroud)