我正在 Azure Pipelines 中编写一个多阶段作业,其中涉及从脚本生成矩阵作为阶段的输出。我想在多个阶段使用该矩阵来生成作业,但我想在使用该矩阵的前一阶段的作业上使用条件。
示例 azure-pipelines.yml:
stages:
- stage: A
jobs:
- job: generateMatrix
- stage: B
dependsOn: A
jobs:
- job: "" # This lets the job name be just the name of the matrix key
continueOnError: true # steps in these jobs may or may not fail
strategy:
matrix: $[ stageDependencies.A.generateMatrix.outputs['matrix'] ]
- stage: C
dependsOn: # Needs A's matrix and B job results
- A
- B
jobs:
- job: "" # The job name here should be the same as in stage B
continueOnError: true
strategy:
matrix: $[ stageDependencies.A.generateMatrix.outputs['matrix'] ]
steps:
- script: echo "Job from Stage B Succeeded"
condition: eq(stageDependencies.B.variables['Agent.JobName'].result, 'Succeeded')
- script: echo "Job from Stage B Failed"
condition: condition: ne(stageDependencies.B.variables['Agent.JobName'].result, 'Succeeded')
所以我需要具备以下能力之一:
- 能够参数化阶段依赖项内的 json 路径
- 能够编辑变量并将其添加到阶段 (B) 中的现有矩阵并以某种方式输出该变量。
有谁知道如何做到这一点?我尝试了上述方法,但失败了。