Azure DevOps Server 2019 не поддерживает параметры, есть идеи, как можно добавить такое условие?
Да, согласно этот билет Azure DevOps Server 2019 плохо поддерживает параметры. Поэтому я предлагаю вам попробовать условные задания / шаги с использованием переменных вместо параметров, чтобы получить более подробную информацию о Синтаксис условий.
Поскольку в настоящее время параметры не поддерживаются в Azure Devops Server, не рекомендуется использовать шаблоны в вашем сценарии. (Переменные нельзя использовать для условного шаблона). Вы можете развернуть эти шаги прямо в вашем azure-pipeline.yml
файле следующим образом:
jobs:
- job: build
pool:
name: Default
steps:
- task: CmdLine@2
inputs:
script: 'echo This is first build task'
condition: {Add your custom condition here in Step level.}
- task: CmdLine@2
inputs:
script: 'echo This is second build task'
- job: test
condition: {Add your custom condition here in Job level.}
pool:
name: Default
steps:
- task: CmdLine@2
inputs:
script: 'echo This is first test task'
- task: CmdLine@2
inputs:
script: 'echo This is second test task'
Вы можете добавить условие на уровне задания / шага, чтобы определить, будет ли выполняться одно задание / шаг.
Примеры для двух разных направлений:
1. Определите переменную (жесткий код) в yaml:
variables:
WhetherToRunCmd:true
jobs:
- job: build
pool:
name: Default
steps:
- task: CmdLine@2
inputs:
script: 'echo This is first build task'
condition: ne(variables.WhetherToRunCmd,false)
- task: CmdLine@2
inputs:
script: 'echo This is second build task'
Тогда первая задача cmd будет запущена по умолчанию, и она перестанет запускаться, когда мы изменим WhetherToRunCmd:true
на WhetherToRunCmd:false
.
2. Используйте переменная времени очереди, не нужно определять переменную в файле yml:
Отредактируйте конвейер yaml и выберите Variables:
Определите переменную WhetherToRunJob
и активируйте настраиваемую во время очереди:
Затем используйте что-то вроде этого в yml:
- job: test
condition: ne(variables.WhetherToRunJob,false)
Затем это задание будет запускаться по умолчанию и пропустить его, когда мы изменим значение на false с помощью Queue with parameters option
:
Я думаю, что variables+condition
также может удовлетворить ваши потребности, связанные с условным выполнением шагов / заданий. Также вы можете изменить условия, если хотите, например и (success (), eq (...) ...) или что-то еще.
person
LoLance
schedule
19.06.2020