Azure devops 如何在prem上的Azure DevOps服务器2019中使用yaml模板参数?

Azure devops 如何在prem上的Azure DevOps服务器2019中使用yaml模板参数?,azure-devops,Azure Devops,根据prem上Azure DevOps服务器2019的官方文档,它支持一切 但是,我无法使用带有参数的简单yaml模板 这是我的yaml模板(名为prepare sonar qube.yml): 以下是azure-pipelines.yml: trigger: - master name: 1.0.$(Date:yy)$(DayOfYear)$(Rev:.r) jobs: - job: Build pool: demands: DotNetFramework workspac

根据prem上Azure DevOps服务器2019的官方文档,它支持一切

但是,我无法使用带有参数的简单yaml模板

这是我的yaml模板(名为prepare sonar qube.yml):

以下是azure-pipelines.yml:

trigger:
- master

name: 1.0.$(Date:yy)$(DayOfYear)$(Rev:.r)

jobs:
- job: Build
  pool:
    demands: DotNetFramework
  workspace:
    clean: all
  variables:
  - template: variables.yml  
  steps:
  - template: prepare-sonar-qube.yml
    parameters:
      projectKey: logs2db

...
运行构建时,我会收到以下可爱的错误消息:

/prepare-sonar-qube.yml (Line: 2, Col: 1): A sequence was not expected


那么我做错了什么?(除了作为一个忠实的TFS客户,在prem Azure DevOps服务器2019上遇到了一个过时的问题,与不断发展的托管Azure DevOps服务相比,该服务器似乎毫无用处)

这看起来像是一个简单的缩进问题

这是我的一个工作模板的剪报

parameters:
  - name: sln
    type: string
    default: ''
  - name: slnName
    type: string
    default: ''
  - name: proj
    type: string
    default: ''

尝试使用
空格
空格
-name:[name]
这看起来像是一个简单的缩进问题

这是我的一个工作模板的剪报

parameters:
  - name: sln
    type: string
    default: ''
  - name: slnName
    type: string
    default: ''
  - name: proj
    type: string
    default: ''

尝试使用
空格
空格
-name:[name]
您没有做错任何事。很抱歉,这是我们的文件问题

您正在尝试的语法是我们新的
更丰富的YAML语法
功能,到目前为止,Azure DevOps Server 2019还不支持该功能

为了在我们对文档进行更改之前让公众知道并避免这种情况,我创建了一个线程并宣布这种不支持


目前,on prem服务器仅支持,其中默认值声明为映射,没有类型或值约束:

parameters:
  solution: '**/*.sln'


你没有做错什么。很抱歉,这是我们的文件问题

您正在尝试的语法是我们新的
更丰富的YAML语法
功能,到目前为止,Azure DevOps Server 2019还不支持该功能

为了在我们对文档进行更改之前让公众知道并避免这种情况,我创建了一个线程并宣布这种不支持


目前,on prem服务器仅支持,其中默认值声明为映射,没有类型或值约束:

parameters:
  solution: '**/*.sln'


不起作用。您正在使用on-prem Azure DevOps服务器吗?不工作。您正在使用on-prem Azure DevOps服务器吗?如何将一个参数的值默认为另一个参数的值?@mark,默认为另一个参数的值是什么意思?如果我希望参数X在默认情况下取参数Y的值,即当参数X未显式给定时。@mark。如果您想要的是上面共享的定义,那么它们都在同一个template.yml文件中。恕我直言,它不支持在
参数中定义。我们不支持编译一个参数的值,然后将其分配给另一个参数B(在azure devops服务中也是如此)。您必须对命令行和powershell等任务执行此操作。如何将一个参数的值默认为另一个参数的值?@mark,默认为另一个参数的值是什么意思?如果我希望参数X默认为参数Y的值,即当参数X未显式给定时。@mark。如果您想要的是上面共享的定义,那么它们都在同一个template.yml文件中。恕我直言,它不支持在
参数中定义。我们不支持编译一个参数的值,然后将其分配给另一个参数B(在azure devops服务中也是如此)。您必须使用命令行和powershell之类的任务来实现这一点。