我需要更新两个管道以使用相同的逻辑,并考虑使用模板来拆分公共YAML步骤。所有项目都与用于部署的内部Nuget包共享相同的依赖项。我最初的想法是使用该包来保存模板YAML并在每个项目中引用它,但是当我阅读文档时,我不完全确定是否支持这一点。为了让您更好地理解,我将在文档中使用相同的示例代码进行举例说明。这将是我们在Nuget包中的YAML,作为每个项目的模板引用插入。
# File: templates/include-npm-steps.yml
steps:
- script: npm install
- script: yarn install
- script: npm run compile
这将是需要从Nuget包中使用上述YAML的每个项目上的YAML。
# File: azure-pipelines.yml
jobs:
- job: Linux
pool:
vmImage: 'ubuntu-latest'
steps:
- template: templates/include-npm-steps.yml # Template reference
- job: Windows
pool:
vmImage: 'windows-latest'
steps:
- template: templates/include-npm-steps.yml # Template reference
可能在运行时,管道检查引用的模板,但不会运行,因为它们需要首先恢复。什么好主意吗?
正如所怀疑的那样,你不能在Nuget包中使用YAML,而是必须从repo中引用YAML。