Est-il possible de déclarer une variable puis de la passer en aval ? J'ai une image ci-dessous StageA -> StageB -> StageC où j'obtiens une url pour mon compte de stockage sur l'étape A, et je veux l'utiliser pour l'étape B et l'étape C.
Mais si j'utilise le [stagedependencies.StageA.JobA.outputs['var'], cela ne fonctionne que sur StageB et pas sur StageC.
- stage: 'StageC'
dependsOn: 'StageB'
pool:
vmImage: 'windows-latest'
variables:
blobUri: $[stageDependencies.StageA.JobA.outputs['createOutput.blobUri']]
jobs:
- job: 'JobC'
steps:
- checkout: none
- download: none
- powershell: |
echo JobBUri: $(blobUri)
Peut-être ai-je raté quelque chose, mais cela signifie-t-il que vous ne pouvez obtenir la variable qu'à partir de l'étape immédiate dont vous dépendez ?
Exemple :
trigger:
- master
pool:
vmImage: ubuntu-latest
stages:
- stage: 'StageA'
jobs:
- job: 'JobA'
steps:
- task: Powershell@2
name: 'createOutput'
inputs:
targetType: 'inline'
script: |
Write-Output "##vso[task.setvariable variable=blobUri;isOutput=true]www.google.com"
- stage: 'StageB'
dependsOn: 'StageA'
pool:
vmImage: 'windows-latest'
variables:
blobUri: $[stageDependencies.StageA.JobA.outputs['createOutput.blobUri']]
jobs:
- job: 'JobB'
steps:
- powershell: |
echo JobBUri: $(blobUri)
- stage: 'StageC'
dependsOn: 'StageB'
pool:
vmImage: 'windows-latest'
variables:
blobUri: $[stageDependencies.StageA.JobA.outputs['createOutput.blobUri']]
jobs:
- job: 'JobC'
steps:
- powershell: |
echo JobBUri: $(blobUri)