Necktschnagge
Necktschnagge

Reputation: 407

Permanently set environment variable in Azure Pipeline

While all sites about environment variables on Azure Pipelines seem to talk about setting variables before pipeline start, I want to set (change) the variable PATH in one step and use it in a later step. But using

      steps:
       - script: source ./export_variables.sh
         displayName: "export variables"
       - script: $PATH 
         displayName: "verify"
         condition: succeeded()

where ./export_variables.sh contains something like

#!/bin/bash
export PATH=abc/def/bin:$PATH

does not fulfill the task: In the verify step PATH does not contain abc/def/bin.

What has to be changed so that upates of $PATH become permanent on the machine?

Upvotes: 3

Views: 1351

Answers (1)

spixx
spixx

Reputation: 31

I have had the same issue. It was solved with the following lines in the YAML

steps:
      - bash: |
          export PATH="${PATH}:${HOME}/.local/bin"
          echo "##vso[task.setvariable variable=PATH;]${PATH}"

Which gives me the variable set over the entire stage. Note that this will overwrite the PATH so use with care :)

Upvotes: 3

Related Questions