Я хочу определить одну булеву переменную для этапа и хочу установить ее (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
, ее значение равно false. Затем в задаче PS я использую task.setvariable
, чтобы переопределить значение ключа. Примечание: Таким образом, новое значение true
является значением области действия. Если у вас есть несколько заданий на одном этапе, это не может работать хорошо.
Update1:
- task: PowerShell@2
inputs:
filePath: 'Test.ps1'
My Test.ps1:
Write-Host "##vso[task.setvariable variable=Key;]true"