Azure devops 无代理等待另一个生成管道的生成完成

Azure devops 无代理等待另一个生成管道的生成完成,azure-devops,Azure Devops,我有一个azure devops经典构建管道(“触发器管道”),它通过REST在azure devops中触发YAML CI构建(“CI管道”)。一旦触发的构建完成,我想在触发管道中继续。一次CI管道运行大约需要2-3小时。(背景:在YAML管道中编译TFVC源代码,以克服经典管道的维护问题。由于有几个遗留系统,现在不可能迁移到git。) 问题:我不想忙着等待CI管道的构建完成。相反,我想使用无代理的等待。“调用RESTAPI”或“调用Azure函数”的任务似乎方向正确,但我无法确定是否/如何将

我有一个azure devops经典构建管道(“触发器管道”),它通过REST在azure devops中触发YAML CI构建(“CI管道”)。一旦触发的构建完成,我想在触发管道中继续。一次CI管道运行大约需要2-3小时。(背景:在YAML管道中编译TFVC源代码,以克服经典管道的维护问题。由于有几个遗留系统,现在不可能迁移到git。)

问题:我不想忙着等待CI管道的构建完成。相反,我想使用无代理的等待。“调用RESTAPI”或“调用Azure函数”的任务似乎方向正确,但我无法确定是否/如何将它们用于我的目的


我在powershell中实现了一个忙等待解决方案,它通过循环中的REST调用检查构建状态。当然,这会将当前代理无用地阻塞数小时,并且不能成为最终解决方案。由于触发的构建也消耗了一个代理,我现在有两个代理被阻止了2-3小时。不太好。

跑那么长时间怎么办?它在干什么?它在哪里运行?运行构建了一大块软件,执行了大量的单元测试,进行了声纳分析并发布了软件包。根据我们服务器的工作负载,其形式为1,5h-3h。这个软件有点旧,所以不是所有的东西都是完美的。听起来所有的东西实际上都是在一个代理上运行的。无代理阶段适用于不在代理上运行的活动。其中一个无代理阶段可能是等待CI管道完成。在经典管道(触发器管道)中,实际上可以添加无代理作业。在那里你可以添加e。G“调用RESTAPI”或“调用Azure函数”。但是我不知道怎么用它。我认为你的理解有点错误。如果您有一个在代理上运行的活动,它将使用代理,而无代理阶段是无用的。如果您有一个触发外部进程的代理(例如:调用异步处理数据的REST API),那么您可以使用无代理阶段等待REST API调用完成,然后再继续。