在Azure DevOps中,我们使用经典方式创建了构建和发布管道,现在我们计划将其转换为yaml文件。
但是在yaml方法中,似乎只能将代码放在存储库的根目录下,在该目录下,我们希望将构建yaml文件保存在单独的存储库中,开发人员将无法访问该文件。
如何实现呢?
您可以使用template,仅在主仓库中放yalm
所有引用模板的最小文件,所有步骤均在模板中存在,模板在另一个仓库中退出。
例如,您的主要仓库yaml
:
resources: repositories: - repository: templates type: git name: Contoso/BuildTemplates jobs: - template: common.yml@templates # Template reference
在仓库中:Contoso / BuildTemplates将完整内容放入yaml
:
# Repo: Contoso/BuildTemplates # File: common.yml parameters: vmImage: 'ubuntu 16.04' jobs: - job: Build pool: vmImage: ${{ parameters.vmImage }} steps: - script: npm install - script: npm test
限制对第二个存储库的访问(除非代理管道用户)。
在此处阅读有关资源的更多信息。