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"
Другие вопросы по тегам