1

我将开始与我的其他问题完全相同(如何在 Azure DevOps Server 2019 on-prem 中使用 yaml 模板参数?) - 根据https://docs.microsoft.com/en-us/上的官方文档azure/devops/pipelines/process/templates?view=azure-devops-2019 Azure DevOps Server 2019 on-prem 支持一切。

特别是,从另一个存储库引用 yaml 模板。但是,尝试在实践中使用它会失败:

/azure-pipelines-common.yml: File /prepare-sonar-qube.yml not found in repository http://tdc1tfsapp01:8080/tfs/DefaultCollection/DFDevOps/_git/logs2db branch refs/heads/master version 0ba42f59f36e74ad4fe39e59e4e8a3a56a6e9ff0.

在此处输入图像描述

这是我的 yaml 模板:

trigger:
- master

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

resources:
  repositories:
  - repository: templates
    type: git
    name: NewProductTemplate
    ref: refs/heads/shelve/yaml-templates

jobs:
- job: Build
  pool:
    demands: DotNetFramework
  workspace:
    clean: all
  variables:
  - template: variables.yml@templates
  steps:
  - template: azure-pipelines-common.yml
  - template: publish-nuget.yml@templates
  - template: publish-symbols.yml@templates
  - template: publish-code-coverage.yml@templates
  - template: promote-nuget.yml@templates

我是不是做错了什么,或者这又是一个误导性文件的案例?

4

1 回答 1

1

请参阅 statement - template: azure-pipelines-common.yml,这意味着您正在引用当前repos 中的模板。错误消息仅表明当前repos( ?)的master分支中缺少prepare-sonar-qube.yml引用的 by 。azure-pipelines-common.ymllogs2db

prepare-sonar-qube.yml因此,如果您在以下位置定义这样的引用azure-pipelines-common.yml

steps:
- template: prepare-sonar-qube.yml

您应该确保prepare-sonar-qube.yml存在于当前 repos( logs2db) 而不是另一个 repos( NewProductTemplate) 的位置。或者预期的行为会出现如下错误:

在此处输入图像描述

于 2020-03-11T09:33:49.647 回答