【问题标题】:Azure Pipeline: Queue time Agent pool selection for yaml based pipelineAzure 管道:基于 yaml 的管道的队列时间代理池选择
【发布时间】:2019-11-17 19:09:06
【问题描述】:

尝试将“可视化”定义的 Azure 管道转换为 yaml,但遇到了问题。使用“可视化”定义的 Azure 管道,您在执行手动队列时会获得类似于以下的 UI:

请注意此 UI 如何让我们在排队时在代理池之间进行选择。这是我们经常使用的功能。我们这样做是因为我们有用于机器学习的管道。

很遗憾,在切换到基于 yaml 的管道时,您无法选择代理池。尽管 yaml 管道没有定义池或类似的,但它已经消失了。

有没有办法为基于 yaml 的管道的代理池获取相同类型的下拉框?

更新:使用变量作为池名称是可能的,但也很麻烦,因此不要寻找需要在排队时输入完整池名称的解决方案。因此,要么是下拉框,要么是其他机制。

【问题讨论】:

标签: azure-devops azure-pipelines


【解决方案1】:

从 2020 年 2 月起可以实现。查看新的 Runtime Parameters

从下拉列表中选择代理池实际上是他们的第一个示例。

parameters:
- name: image
  displayName: Pool Image
  type: string
  default: ubuntu-latest
  values:
  - windows-latest
  - vs2017-win2016
  - ubuntu-latest
  - ubuntu-16.04
  - macOS-latest
  - macOS-10.14

【讨论】:

  • 很好,看起来完全像需要的东西,但还不知道它已经发布了。谢谢!
【解决方案2】:

您可以为池使用变量:

pool:
  vmImage: '$(pool)'

然后,在yaml编辑器中点击右上角...和“变量”:

这里定义了pool 变量“可在排队时设置”:

现在,当您运行管道时,您可以将变量更改为您想要的:

【讨论】:

  • 我知道,但这不是我想要的,池名称可能很长,而且写起来很麻烦。
  • 当我点击“变量”然后转到 YAML 选项卡时,我可以看到 Agnet 池的下拉菜单,你能看到吗?
  • 当然可以,但不幸的是,这无助于在排队时间定义它:|
  • @nietras 我认为你现在没有其他选择:/
【解决方案3】:

是的,我认为使用基于 yaml 的管道不可能做到这一点,至少根据 schema 是不可能的。

【讨论】:

  • 您为什么认为架构暗示这不可能?您可以在 yml 文件中省略池。
  • 好吧,因为管道行为是由您放入 yaml 中的内容定义的。听起来合乎逻辑,对吧?
  • 当然可以,但是我可以将变量转发到 yaml 并且 yaml 中的所有内容都可以通过变量进行设置,没有任何迹象表明不可能为此定义队列时间定义。
猜你喜欢
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 2022-11-14
  • 2021-01-04
  • 2020-06-08
  • 2021-07-28
相关资源
最近更新 更多