在Azure DevOps中,我们使用经典方式创建了构建和发布管道,现在我们计划将其转换为yaml文件。
但是在yaml方法中,似乎只能将代码放在存储库的根目录下,在该目录下,我们要将构建yaml文件保存在单独的存储库中,开发人员将无法访问该文件。
如何做到这一点?
最佳答案
您可以使用templates,仅将最小的yalm
放在主存储库中,该yaml
引用包含所有步骤的模板,该模板在另一个存储库中退出。
例如,您的主要仓库yaml
:
resources:
repositories:
- repository: templates
type: git
name: Contoso/BuildTemplates
jobs:
- template: common.yml@templates # Template reference
在仓库中:Contoso / BuildTemplates放入完整的ojit_code:
# 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
限制对第二个存储库的访问(除非代理管道用户)。
阅读here有关资源的更多信息。
关于azure-devops - 如何限制Azure DevOps存储库中的开发人员对build.yml文件的访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58689979/