azure-devops - 在一个管道中检出多个分支
问题描述
我试图在一个管道中获得两个不同的分支,以便我可以比较目录。当我这样做时,它会起作用。
- checkout: self
- checkout: 'git://MyRepo/MyProject'
path: master
当我需要检查分支以获取拉取请求时,问题就出现了,而不是服务器自动为拉取请求创建的合并分支。所以我这样做:
- checkout: 'git://MyRepo/MyProject@$(System.PullRequest.SourceBranch)'
path: s
- checkout: 'git://MyRepo/MyProject@master'
path: master
这里的问题是第二次签出将数据从源 ( $(Build.SourcesDirectory)
) 目录移动到该master
目录。
存储库当前位于“E:\vsts-buildser98-agent03_work\230\s\MyProject”,移至“E:\vsts-buildser98-agent03_work\230\master”。
存储库将位于“E:\vsts-buildser98-agent03_work\230\master”。
这导致构建失败,实际上在比较之前我需要做的所有事情。此外,Post-job: Checkout
由于第一个目录不再存在,因此失败。
解决方案
path
您在步骤中指定了 a checkout
,因此行为是正确的。
当path
为步骤指定 acheckout
时,将使用该路径,相对于(Agent.BuildDirectory)
.
您可以在以下链接中查看更多结帐路径信息:
推荐阅读
- ruby - 如何为以下食谱编写厨师规格
- android - Jetpack 撰写,仪器测试:java.lang.ClassNotFoundException:找不到类“androidx.test.internal.util.Checks”
- javascript - JavaScript reader.readAsDataURL() 返回“未定义”
- github - 如何在 GH 命令中设置分页选项?
- java - 线程“AWT-EventQueue-0”中的异常 java.lang.NullPointerException GUI Java/Eclipse -> 将产品添加到购物车
- ios - 如何在键盘中隐藏键盘建议视图?
- javascript - 如何向 XMLHttpRequest 添加模式:'no-cors'?
- ansible - 如何在 Ansible Inventory 中搜索特定服务器?
- python - 提高 ValueError 未通过单元测试
- python - 有没有办法在python中将视频分成更小的视频块