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

Popular posts from this blog

Windows SSH: Permissions for 'private-key' are too open

NodeJS: Error: spawn EINVAL in window for node version 20.20 and 18.20