[英]Azure DevOps pipeline template - how to concatenate a parameter
整个下午,我一直在努力思考如何在 ADO 模板中连接一个参数。 该参数是一个源路径,并且在模板中需要添加下一个文件夹级别。 我想通过“简单”的连接来实现这一点。 简化模板采用参数并使用它来形成 PowerShell 脚本的 inputPath,如下所示:
parameters:
sourcePath: ''
steps:
- task: PowerShell@2
inputs:
filePath: 'PSRepo/Scripts/MyPsScript.ps1'
arguments: '-inputPath ''$(sourcePath)/NextFolder''
我尝试了各种方法来实现这种连接:
和其他一些变化,都无济于事。 我还尝试在模板中引入变量部分,但这是不可能的。
我在互联网上搜索了示例/文档,但没有直接的答案和其他问题似乎暗示了一些解决方案,但没有奏效。
如果有人可以帮助我,我一定会非常高兴。
提前谢谢。
我们可以在我们的临时 yaml 文件中添加变量并将 sourcePath 传递给变量,然后我们可以使用它。 这是我的演示脚本:
Main.yaml
resources:
repositories:
- repository: templates
type: git
name: Tech-Talk/template
trigger: none
variables:
- name: Test
value: TestGroup
pool:
# vmImage: windows-latest
vmImage: ubuntu-20.04
extends:
template: temp.yaml@templates
parameters:
agent_pool_name: ''
db_resource_path: $(System.DefaultWorkingDirectory)
# variable_group: ${{variables.Test}}
温度yaml
parameters:
- name: db_resource_path
default: ""
# - name: 'variable_group'
# type: string
# default: 'default_variable_group'
- name: agent_pool_name
default: ""
stages:
- stage:
jobs:
- job: READ
displayName: Reading Parameters
variables:
- name: sourcePath
value: ${{parameters.db_resource_path}}
# - group: ${{parameters.variable_group}}
steps:
- script: |
echo sourcePath: ${{variables.sourcePath}}
- powershell: echo "$(sourcePath)"
谢谢,于君。 与此同时,它确实发挥了作用。 显然,肯定有一些错字确实阻止了脚本正确执行,因为 se 解决方案看起来像上面提到的选项之一。
parameters:
sourcePath: ''
steps:
- task: PowerShell@2
inputs:
filePath: 'PSRepo/Scripts/MyPsScript.ps1'
arguments: '-inputPath ''$(sourcePath)/NextFolder''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.