Azure devops 如何控制Azure DevOps管道的工作文件夹?

Azure devops 如何控制Azure DevOps管道的工作文件夹?,azure-devops,azure-devops-self-hosted-agent,Azure Devops,Azure Devops Self Hosted Agent,通常,如果您使用的是自托管Azure代理,它会在工作文件夹下自动为您选择目标文件夹(我假设是基于管道名称)。。。例如: /home/xxxxx/azure/_work/2/t/ 有没有一种方法可以通过YAML管道控制这种选择?我的使用案例是,我有一个非常大的回购协议,以及几个不同的管道,所有这些管道都会检查它。我只有一个代理在机器上运行,所以我的首选是,我在这个代理上运行的所有管道都签出到同一个文件夹中(如/home/xxxxx/azure/_work/MyProject),确保此大型回购只有

通常,如果您使用的是自托管Azure代理,它会在工作文件夹下自动为您选择目标文件夹(我假设是基于管道名称)。。。例如:

/home/xxxxx/azure/_work/2/t/

有没有一种方法可以通过YAML管道控制这种选择?我的使用案例是,我有一个非常大的回购协议,以及几个不同的管道,所有这些管道都会检查它。我只有一个代理在机器上运行,所以我的首选是,我在这个代理上运行的所有管道都签出到同一个文件夹中(如
/home/xxxxx/azure/_work/MyProject
),确保此大型回购只有一次签出。

通过设置
签出:无
,可以避免同步管道中的源:

steps:
- checkout: none

然后添加命令行或脚本任务,通过git命令手动克隆repo。

您是否考虑过进行浅层签出以减少克隆的repo大小?@DanielMann这是一个好主意,我可能会在其他一些上下文中使用。在这种情况下,如果可以的话,我仍然倾向于使用一个文件夹,因为如果我不签出fresh,还有很多其他依赖项和可缓存资产可以重用。谢谢Cece-我不知道这是否有帮助。我可以手动克隆回购,但
pwd
的值仍然可能是许多随机文件夹中的一个(
1/s
2/t
,等等)。我想我可以添加一个脚本步骤来执行
mkdir-p../.&myWorkFolder&&cd.././myWorkFolder
,但我担心这会破坏任何任务,例如收集覆盖率和发布工件,这些任务假定我的文件位于正常的工作文件夹中。您可以为这些任务设置源文件夹。确定--因此,一个选项就是只工作“在_工作文件夹之外”,在我选择的地方,只需手动操作即可。很有意义!