我有一个名为repo a的repo并在这里创建了一个YAML管道但我在repo B中也有一些代码需要在这个管道中使用
在YAML中如何告诉REPO A中的管道使用REPO B中的文件/文件夹?
我是新手,所以你能保持简单吗?
resources:
repositories:
- repository: automation
type: git
name: MYORG/ automation
ref: develop
endpoint: YourEndpoint
steps:
- checkout: self
path: "s/Source" : ***>>>>>> what should this be??***
- checkout: automation
ok直接放到我添加的html的顶部
> resources:
> repositories:
> - repository: automation
> type: git
> name: name of yourpoject/name of repo you want to use
> ref: whatever branch of that repo(under repository above) you want to use
然后! !在YAML的步骤下(如果您没有,您需要添加它!)
> steps:
> - checkout: self
> - checkout: your repository you want to use as above
如果你使用npm来运行一个任务,你也需要添加下面的命令,以避免得到任何文件未找到的错误!如果你没有添加下面的代码,一个常见的错误是:npm WARN saveError事件:没有这样的文件或目录,打开'/home/vsts/work/package.json
下面的代码放在-Task部分
> > npm install
> > displayName: 'a task using npm'
> > workingDirectory: '$(Build.SourcesDirectory)/your repository you want to use as above
在YAML中插入代码时也要注意缩进,如果你没有正确地缩进,它会给你错误,直到它们消失
您应该检出YAML管道上的多个存储库。您可以定义一个新的资源存储库,并将此存储库与您的源(触发管道的源)一起签出。
resources:
repositories:
- repository: devops_sf
type: github
name: Organization/Repository
ref: master
endpoint: YourEndpoint
steps:
- checkout: self
path: "s/Source"
- checkout: devops_sf
那么您将能够访问
下的存储库$(Pipeline.Workspace)/s/Repository
$(Pipeline.Workspace)/s/Source
Azure DevOps的多repo checkout:
https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops