azure - 如何使用 powershell 在另一个 yaml 中使用一个 yaml 的变量?
问题描述
由于我是 yaml 和 powershell 的新手,有人可以帮助我理解在另一个 Yaml 中使用一个 Yaml 变量的方式吗?
示例场景:
我在文件夹Test1下的abc.yml 中有变量$a,现在我必须在文件夹Test2下的bcd.yaml 中使用相同的 $a。
如何在 powershell 中实现这一点?
解决方案
要在 Azure DevOps 中的 yml 文件之间传递参数,您必须指定模板的路径(要将参数传递到的文件)并给参数一个值。然后在第二个文件中也声明参数。
要在第二个 yaml 中使用它的参数,您可以使用 ${{parameters.name}} 构造:
假设 $a 代表一个目录路径...
abc.yml 的示例内容:
stages:
- stage: 'Passing param example'
jobs:
- template: ${{variables['System.DefaultWorkingDirectory']}}/bcd.yml
parameters:
param1_butuseanynameyoulike: $a
bcd.yml 中的:
parameters:
- name: 'param1_butuseanynameyoulike'
displayName: 'Parameter passed from original yaml file'
type: string
default: ''
jobs:
- job: somename
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Get-ChildItem -Path ${{ parameters.param1_butuseanynameyoulike }}"
推荐阅读
- list - 如何在列表中找到比前一个值增加不到 10% 的值
- qt - 连接自定义滚动条和 Flickable
- php - 为什么这个 PDO 准备好的语句不更新记录?
- django - 导航到不同的页面而不是 Ajax 调用
- asp.net-core - Hangfire - DisableConcurrentExecution - 如果在方法参数中传递相同的值,则防止并发执行
- plantuml - 如何用plantUML显示堆叠的卡片结构
- java - UnsupportedClassVersionError:org/sonar/api/utils/SonarException:不支持的major.minor版本52.0
- java - Rest Assured 的 Kotlin 扩展在 Then 块执行期间产生 java.lang.IllegalAccessError
- cassandra - Cassandra 集群可以有偶数个节点吗?
- reactjs - 从 firebase 中选择所有用户帖子