I want to set a variable during build, which I can then check during release.
Below is what I have tried after doing my research. I have simplified some logic, as it is not relevant to the question and would just confuse the issue.
1. Add a variable to the build:
2. In the build pipeline, add a “Powershell Script” Task
…with an inline script like this:
<code>Write-Output "##vso[task.setvariable variable=SkipRelease;isOutput=true]true"
</code>
<code>Write-Output "##vso[task.setvariable variable=SkipRelease;isOutput=true]true"
</code>
Write-Output "##vso[task.setvariable variable=SkipRelease;isOutput=true]true"
3. In the release, add a “Powershell script”
With an inline script like this:
<code>$skipRelease = $env:SkipRelease
Write-Output "SkipRelease variable is: $skipRelease"
</code>
<code>$skipRelease = $env:SkipRelease
Write-Output "SkipRelease variable is: $skipRelease"
</code>
$skipRelease = $env:SkipRelease
Write-Output "SkipRelease variable is: $skipRelease"
I have tried several variations of this, reading the SkipRelease variable:
<code>$skipRelease = "$(Build.DefinitionName.SkipRelease)"
</code>
<code>$skipRelease = "$(Build.DefinitionName.SkipRelease)"
</code>
$skipRelease = "$(Build.DefinitionName.SkipRelease)"
…
<code>$skipRelease = $(SkipRelease)
</code>
<code>$skipRelease = $(SkipRelease)
</code>
$skipRelease = $(SkipRelease)
…
<code>$skipRelease = $($env:SkipRelease)
</code>
<code>$skipRelease = $($env:SkipRelease)
</code>
$skipRelease = $($env:SkipRelease)
None of them work, SkipRelease is either not defined or empty, depending on which method I use – determined by looking in the logs.
-
Can I check if the SkipRelease variable is actually by the build?
-
How can I read it from the release?