Dan*_*Dan 5 azure-devops azure-pipelines azure-pipelines-yaml
所以我正在设置一个新的构建管道,它非常复杂,它是多阶段的,并且阶段内有多项作业。
但我遇到了问题,因为当我尝试依靠在同一代理工作文件夹中执行的一个阶段的第二个和第三个作业来保存某些任务时。当然,这实际上并不起作用。它实际上有时有效,但有时无效。我希望不同的作业总是在与之前的作业相同的文件夹中运行,或者从不运行,但有时不会。
无论如何,所以我想知道是否有一种方法可以将整个阶段或管道限制到单个工作目录。有人有什么想法吗?谢谢!!!
这是一个很老的问题,但我仍然想回答,以防它对其他人有帮助。是的,有一种方法,您需要做的就是将第一份工作的代理名称存储在变量中,然后对于任何其他工作,您需要请求相同的代理。它是这样完成的——
jobs:
- job: A
steps:
- bash: |
echo "##vso[task.setvariable variable=AgentName;isoutput=true]$(Agent.Name)"
name: passOutput
- job: B
dependsOn: A
variables:
AgentName: $[ dependencies.A.outputs['passOutput.AgentName'] ]
pool:
name: pool1
demands: Agent.Name -equals $(Agent.Name)
steps:
- bash: |
echo $(AgentName)
Run Code Online (Sandbox Code Playgroud)
对我来说就像魅力一样。
| 归档时间: |
|
| 查看次数: |
2504 次 |
| 最近记录: |