我可以让Azure DevOps管道基于一组可用选项设置一个变量吗?

我可以让Azure DevOps管道基于一组可用选项设置一个变量吗?,azure,azure-devops,azure-devops-pipelines,Azure,Azure Devops,Azure Devops Pipelines,基本上,我有,比方说,10条管道,它们都在3个可用代理上同时运行。所以一次只运行3个,其余的都在排队。我需要每个管道都有一个可以用于整个管道的变量,但我需要从特定列表中选择该变量。此外,我希望所选择的变量在被一个管道使用时不能被另一个管道选择。一旦该管道完成,该变量就可以被其他管道再次使用。因此,我希望每个管道从可用选项列表中进行选择,并将其中一个选项设置为管道变量,然后释放该选项供以后运行的管道再次选择。这可能吗?不,这无法实现。使用YAML管道,您可以指定参数和可能的值,但无法添加所需的锁定

基本上,我有,比方说,10条管道,它们都在3个可用代理上同时运行。所以一次只运行3个,其余的都在排队。我需要每个管道都有一个可以用于整个管道的变量,但我需要从特定列表中选择该变量。此外,我希望所选择的变量在被一个管道使用时不能被另一个管道选择。一旦该管道完成,该变量就可以被其他管道再次使用。因此,我希望每个管道从可用选项列表中进行选择,并将其中一个选项设置为管道变量,然后释放该选项供以后运行的管道再次选择。这可能吗?

不,这无法实现。使用YAML管道,您可以指定参数和可能的值,但无法添加所需的锁定要求

简单但不幸的答案

如果您试图做的是确保管道不会访问相同的环境或资源,那么您可能需要查看“环境”和部署阶段。使用有关环境或特定环境资源的策略,可以防止两个管道同时尝试访问同一环境或环境中的同一资源


没有队列时间块,管道将只等待轮到它。

我真的希望每个管道只对特定变量使用不同的值来做相同的事情。如果我澄清一下,也许会更清楚。不一定要寻找azure提供的内置简单的东西,可能是一个想法,或者一个可以根据我的用例重新调整用途的任务。基本上,我有几个管道同时运行,只是在web应用程序上运行selenium测试。它们都在3个代理上运行,并使用localhost。但我希望每个管道都能从主机名列表中进行选择,并将其用于整个管道。听起来,您需要一个包含多个作业/阶段的单一管道。这样你就可以一次完成所有3项工作。我已经有10条管道了。3次运行,因为他们从3个可用的外部代理中选择。我想向每个管道添加一个任务,通过从列表中选择一个值来设置一个hostname变量。但我希望主机名在使用时不能被另一个管道拾取,这是无法做到的,除非将在单个管道中一起运行的作业分组,并为它们分配一个环境if environment resource.Hi@Maxperryg.是否有关于此票证的更新?如果jessehouwing的回答能给你一些帮助,请随时告诉我。只是提醒一下。