可以使用“demand”属性来控制作业运行所需的代理数,并使用“dependsOn”属性在同一阶段中等待其他作业的完成。这样,可以在等待足够的代理时并行运行其他非资源密集型作业。
示例代码:
stages:
- stage: Test
jobs:
- job: Test1
pool:
vmImage: 'ubuntu-latest'
demands: agent.name -equals TestPool*
steps:
- script: echo Hello World
- job: Test2
dependsOn: Test1
pool:
vmImage: 'ubuntu-latest'
demands:
- agent.name -equals TestPool*
- build.sourceBranch -equals refs/heads/main
steps:
- script: echo Waiting for enough agents to run the job