如何找出 Azure DevOps Services 管道对 select 某些特定代理的需求/能力要求? (隐式和显式需求)

How to find out Azure DevOps Services pipeline demand / capability requirements to select some specific agent? (implicit and explicit demands)

我有一个简单的 yaml 管道文件如下:

stages:
  - stage: build_xm2simu
    displayName: This is the build stage of the XM Simu project
#    dependsOn: string | [ string ]
#    condition: string
    jobs: 
    - job: linux_dotnet_build
      pool: 
        name: my-desktop
#        demands: 
#        - netcore -equals 3.1
      steps: 
      - powershell: dotnet restore source\backend\XM2Simu\XM2Simu.csproj

而且我还配置了三个不同的代理:

如果我删除了 netcore 的显式需求,那么它会在我的 windows 主机代理上运行并按预期失败,因为当前没有 source\backend\XM2Simu\XM2Simu.csproj 文件。

万一添加了netcore需求,没有找到合适的代理,只得到如下信息:

Waiting for an available agent. All eligible agents are disabled or offline

如果 netcore 需求被删除但 windows 主机代理离线,我也会收到上述消息。

问题:如何找到 select 某些特定代理的 Azure DevOps 服务管道需求/能力要求? (隐式和显式需求)

注意:我目前正在调查这个问题,可能与 this post.

有关

How to find out Azure DevOps Services pipeline demand / capability requirements to select some specific agent? (implicit and explicit demands)

你做的应该是正确的。

根据您的故障排除步骤和您收到的错误消息:

Waiting for an available agent. All eligible agents are disabled or offline

此外,我也用我的私人代理测试了你的yaml文件,它工作正常。

看来错误来自代理linux docker agent with dotne本身,应该不是符合条件的代理。

所以,首先,我们可以检查该代理是否保持在线。如果是,我们可以尝试更新代理。

其次,如果上述方法没有帮助,请从 VSTS 网页下载最新的代理,然后重新配置。

希望对您有所帮助。