Azure - создание логических переменных и их использование в нескольких задачах
Я хочу определить одну логическую переменную для этапа и установить ее (True/False) внутри другого скрипта в одной из задач на этапе и хочу использовать эту переменную в качестве условия в других последующих задачах. Как я могу это сделать?
Мой лазурный конвейер основан на YAML.
1 ответ
Я хочу определить одну логическую переменную для этапа и установить ее (True/False) внутри другого сценария в одной из задач на этапе и хочу использовать эту переменную в качестве условия в других последующих задачах. Как я могу это сделать?
Вот один пример:
stages:
- stage: Build
variables:
Key : false
jobs:
- job: Build
continueOnError: true
steps:
- script: echo Key:'$(Key)'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
Write-Host "##vso[task.setvariable variable=Key;]true"
- task: CmdLine@2
inputs:
script: echo Key:'$(Key)'
- task: CmdLine@2
condition: and(succeeded(), eq(variables['Key'], 'true'))
inputs:
script: |
echo Write your commands here
echo Hello world
У меня одна сценическая переменная Key
, его значение ложно. Затем в задаче PS я используюtask.setvariable
чтобы переопределить значение ключа. Примечание. Таким образом новое значениеtrue
- это значение объема работы. Если у вас более одной работы на одном этапе, это не сработает.
Обновление1:
- task: PowerShell@2
inputs:
filePath: 'Test.ps1'
Мой Test.ps1:
Write-Host "##vso[task.setvariable variable=Key;]true"