Azure DevOps Server 2019 on-prem поддерживает шаблоны yaml из другого репозитория? - PullRequest
1 голос
/ 11 марта 2020

Я собираюсь начать точно так же, как и мой другой вопрос ( Как использовать параметры шаблона yaml в Azure DevOps Server 2019 on-prem? ) - Согласно официальной документации на 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.

enter image description here

Вот мой шаблон 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

Я делаю что-то не так или это еще один случай введения в заблуждение документа?

1 Ответ

1 голос
/ 11 марта 2020

См. Утверждение - template: azure-pipelines-common.yml, это означает, что вы ссылаетесь на шаблон из текущих репозиториев. Сообщение об ошибке указывает только на то, что prepare-sonar-qube.yml, на который ссылается azure-pipelines-common.yml, отсутствует в master ветви вашего текущего репозитория (logs2db?).

Таким образом, если вы определите ссылку на prepare-sonar-qube.yml следующим образом в azure-pipelines-common.yml:

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

Вы должны убедиться, что prepare-sonar-qube.yml существует в том месте, где находятся текущие репо (logs2db ) вместо другого репо (NewProductTemplate). Или это ожидаемое поведение, чтобы получить такие ошибки:

enter image description here

...