azure-pipelines - 如何在 azure 管道中使用模板作为参数
问题描述
我正在使用扩展模板,并且我想在其中使用另一个模板仅用于参数。但我不能,我不确定语法是否错误。收到此错误:/templatetest.yml (Line: 8, Col: 1): Unexpected value 'template'
#This is in parameter file in separate repo .policyparams.yml
parameters:
- name: runPerfTests
type: boolean
default: false
resources:
repositories:
- repository: MSLearnDocker
type: git
name: AzureCoreApp/MSLearnDocker
ref: refs/heads/master
template: policyparams.yml@MSLearnDocker
stages:
- stage: Build
displayName: Build
jobs:
- job: Build
steps:
- script: echo running Build
- stage: UnitTest
displayName: Unit Test
dependsOn: Build
jobs:
- job: UnitTest
steps:
- script: echo running UnitTest
- ${{ if eq(parameters.runPerfTests, true) }}:
- stage: PerfTest
displayName: Performance Test
dependsOn: Build
jobs:
- job: PerfTest
steps:
- script: echo running PerfTest
- stage: Deploy
displayName: Deploy
dependsOn: UnitTest
jobs:
- job: Deploy
steps:
- script: echo running UnitTest
我们如何在扩展模板中获取参数模板文件?
解决方案
但我不能,我不确定语法是否错误。收到此错误:/templatetest.yml (Line: 8, Col: 1): Unexpected value 'template'
语法错误。它不支持在主模板中使用另一个模板仅用于参数。所以你不能使用如下格式:
resources:
repositories:
- repository: MSLearnDocker
type: git
name: AzureCoreApp/MSLearnDocker
ref: refs/heads/master
template: policyparams.yml@MSLearnDocker
Or:
- template: policyparams.yml@MSLearnDocker
它们不受支持,它会抛出预期的语法错误:Unexpected value 'template'
.
细节:
参数有相应的工作范围,只在定义的.yml文件中有效。因此policyparams.yml
,您的主模板文件将无法访问文件中的参数。
我的步骤:
Main.yml:
parameters:
- name: appFullName
type: string
default: Lance
steps:
- script: echo ${{ parameters.appFullName }}
- template: getConfig.yml
- script: echo ${{ parameters.TestIfOk }}
然后:
getConfig.yml
parameters:
- name: Test
type: string
default: TestIfOk
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Write-Host "Hello World"
结果:
推荐阅读
- c++ - 用于 Python 的 C++ 库的 SWIG 包装器 - 子模块
- html - “nth-last-child(1)”不针对最后一个元素
- logstash-grok - 如何解析由逗号分隔的日志,其中一个字段包含带有 Grok 的逗号
- batch-file - 通过目录的CMD脚本获取绝对路径
- .net - 输入密码 Blazor 表单
- dataset - 如何将此数据转换为 MIDI 文件?
- google-sheets - 根据其他单元格值从其他工作表中获取值
- java - java创建记事本,换色,换字体,打印,url,超链接
- r - 如何使用 for 循环计算矩阵的行均值
- javascript - 我想将 cmd 输出写入文件而不是标准输出