azure pipeline - writting and referencing it from different stage
In Azure devops, we can often write and then reference an output variable from a different stage or job.
We can references it via dependencies.job_name.outputs["step_name.variable_name"]
- stage: Build
displayName: 'Build Stage'
jobs:
# JOB 2: Output Variables (sharing between jobs)
- job: Job2_OutputVariables
displayName: 'Job 2: Set Output Variables for Later Jobs'
variables:
jobMessage: 'Hello from Job 2'
steps:
# Create a variable that can be used in dependent jobs
- script: |
echo "##vso[task.setvariable variable=sharedOutput;isOutput=true]Hello from Job2 Output"
echo "##vso[task.setvariable variable=buildNumber;isOutput=true]$(Build.BuildNumber)"
name: SetOutputVars
displayName: 'Create Output Variables'
- script: |
echo "Job Message: $(jobMessage)"
echo "Shared Output: $(SetOutputVars.sharedOutput)"
displayName: 'Verify Output Variables'
# JOB 3: Consume output variables from Job2
- job: Job3_ConsumeOutput
displayName: 'Job 3: Consume Output Variables from Job2'
dependsOn: Job2_OutputVariables
steps:
# Reference output variables from dependent job
- script: |
echo "Received from Job2:
$(dependencies.Job2_OutputVariables.outputs['SetOutputVars.sharedOutput'])"
echo "Build Number:
$(dependencies.Job2_OutputVariables.outputs['SetOutputVars.buildNumber'])"
displayName: 'Use Variables from Previous Job'
Comments