Azure管道从变量获取模板名称 请考虑以下事项: - job: Backend steps: - template: $(ClassLibraryTemplate) parameters: projectName: 'Core' solutionPath: 'Source/Core.sln'

Azure管道从变量获取模板名称 请考虑以下事项: - job: Backend steps: - template: $(ClassLibraryTemplate) parameters: projectName: 'Core' solutionPath: 'Source/Core.sln',azure,azure-pipelines,azure-pipelines-yaml,Azure,Azure Pipelines,Azure Pipelines Yaml,ClassLibraryTemplate定义为管道变量。但是当我运行构建时,它失败了,因为变量没有被它的值替换,并且找不到模板 无法将模板名称存储在变量中吗?对于Azure DevOps YAML管道,模板将在编译时处理。但是,$(ClassLibraryTemplate)在运行时得到处理。这就是它失败的原因 更多信息: 您可以在YAML管道中定义变量或参数,然后使用模板表达式。对于参数,您可以在弹出窗口中指定排队/运行管道时的值 例如: parameters: - name: temName

ClassLibraryTemplate
定义为管道变量。但是当我运行构建时,它失败了,因为变量没有被它的值替换,并且找不到模板


无法将模板名称存储在变量中吗?

对于Azure DevOps YAML管道,模板将在编译时处理。但是,$(ClassLibraryTemplate)在运行时得到处理。这就是它失败的原因

更多信息:

您可以在YAML管道中定义变量或参数,然后使用模板表达式。对于参数,您可以在弹出窗口中指定排队/运行管道时的值

例如:

parameters:
- name: temName
  displayName: template name
  type: string
  default: steps/test.yml


trigger:
  - none

variables:
- name: tem
  value: steps/build.yml 

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - template: ${{ variables.tem }} 
  - template: ${{ parameters.temName }} 

对于Azure DevOps YAML管道,将在编译时处理模板。但是,$(ClassLibraryTemplate)在运行时得到处理。这就是它失败的原因

更多信息:

您可以在YAML管道中定义变量或参数,然后使用模板表达式。对于参数,您可以在弹出窗口中指定排队/运行管道时的值

例如:

parameters:
- name: temName
  displayName: template name
  type: string
  default: steps/test.yml


trigger:
  - none

variables:
- name: tem
  value: steps/build.yml 

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - template: ${{ variables.tem }} 
  - template: ${{ parameters.temName }} 

我不认为模板路径可以从变量中获取。我不认为模板路径可以从变量中获取。好的,谢谢。我认为这就是答案,但它看起来有点奇怪,所以我现在将使用静态名称:)是否可以使用动态变量作为模板引用?我希望能够使用由UI参数驱动的steps/test-dev.yml或steps/test-qa.yml。好的,谢谢。我认为这就是答案,但它看起来有点奇怪,所以我现在将使用静态名称:)是否可以使用动态变量作为模板引用?我希望能够使用由UI参数驱动的steps/test-dev.yml或steps/test-qa.yml。