У меня вопрос по поводу состояния yaml. Я следовал этой документации: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml
Мне нужно развернуть в каждой среде на основе определенных условий. Например,
- развернуть в среде 'int' только в том случае, если исходная ветка 'развернуть'
- развернуть в среде 'ua', только если ветвь источника является 'master'
- развернуть в среде 'prod', только если исходная ветвь является 'master'
Если какое-либо из этих условий выполняется, развернуть в этой среде.
Я написал условие следующим образом :
condition: |
or(
and(
eq(variables['Build.SourceBranch'], 'refs/heads/develop'),
eq('${{ parameters.environmentAbbreviation }}', 'int')
),
and(
eq(variables['Build.SourceBranch'], 'refs/heads/master'),
eq('${{ parameters.environmentAbbreviation }}', 'ua')
),
and(
eq(variables['Build.SourceBranch'], 'refs/heads/master'),
eq('${{ parameters.environmentAbbreviation }}', 'prod')
)
)
Это то, что я получаю при выполнении сборки / выпуска:
Оценка:
или ( и (eq (variable [' Build.SourceBranch '],' refs / Heads /velop '), eq (' int ',' int ') ) и (eq (переменные [' Build.SourceBranch '],' refs /head / master ') ), eq ('int', 'ua')) и (eq (переменные ['Build.SourceBranch'], 'refs /head / master'), eq ('int', 'prod')))
Расширенные:
или ( и (eq ('refs / Heads / Develop', 'Refs / Heads / Develop'), EQ ('Int', 'int') ), и (eq ('refs /глав / разработка', 'refs / заголовки / master'), eq ('int', 'ua')) и (eq ('refs /глав) / Develop ',' Refs / Heads / Master '), EQ ("в t, 'prod')))
Поскольку первое условие верно, я предполагаю, что развертывание начнется в среде int. Но это не развернулось в Int среде. Почему это?