本地 Azure DevOps Server 2019 是否支持来自另一个存储库的 yaml 模板?
Does Azure DevOps Server 2019 on-prem support yaml templates from another repository?
我将开始与我的其他问题完全相同() - According to the official documentation at https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops-2019 Azure DevOps Server 2019 本地支持一切。
特别是从另一个存储库引用 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
我是不是做错了什么,或者这是另一个误导文档的案例?
参见语句 - template: azure-pipelines-common.yml
,这意味着您正在引用 当前 存储库中的模板。错误消息仅表示 azure-pipelines-common.yml
引用的 prepare-sonar-qube.yml
在 current 存储库的 master 分支中丢失(logs2db
?)。
因此,如果您在 azure-pipelines-common.yml
中像这样定义对 prepare-sonar-qube.yml
的引用:
steps:
- template: prepare-sonar-qube.yml
您应该确保 prepare-sonar-qube.yml
存在于它当前的存储库 (logs2db
) 而不是另一个存储库 (NewProductTemplate
)。或者出现这样的错误是预期的行为:
我将开始与我的其他问题完全相同(
特别是从另一个存储库引用 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
我是不是做错了什么,或者这是另一个误导文档的案例?
参见语句 - template: azure-pipelines-common.yml
,这意味着您正在引用 当前 存储库中的模板。错误消息仅表示 azure-pipelines-common.yml
引用的 prepare-sonar-qube.yml
在 current 存储库的 master 分支中丢失(logs2db
?)。
因此,如果您在 azure-pipelines-common.yml
中像这样定义对 prepare-sonar-qube.yml
的引用:
steps:
- template: prepare-sonar-qube.yml
您应该确保 prepare-sonar-qube.yml
存在于它当前的存储库 (logs2db
) 而不是另一个存储库 (NewProductTemplate
)。或者出现这样的错误是预期的行为: