azure триггер другой ветви - PullRequest
1 голос
/ 19 февраля 2020

Я использую azure конвейер. Вот что мне нужно:

Когда что-то подталкивается к мастеру, я хочу, чтобы оно запустило процесс сборки и переместило артефакты в /production. чтобы запустить процесс сборки и переместить артефакты в /staging.

У меня есть один файл yaml. Я не хочу иметь разные конвейеры.

Итак, допустим, у меня есть что-то вроде этого в этом yaml.

  • триггер:

    master
    staging
    

Теперь это будет работать, но мне также нужно установить переменные env в зависимости от главной ветви или промежуточной ветви, поскольку эти ветви сообщают, какая из них предназначена для производства, а какая для подготовки.

Я не мог найти способ сделать это, если я не использую секцию скрипта и оператор switch что-то вроде этого:

steps:
- task: PowerShell@2
displayName: Determine source branch
inputs:
targetType: 'inline'
script: |
switch(${env:BUILD_SOURCEBRANCH}) {
'refs/heads/master' {Write-Host "##vso[task.setvariable variable=admiralBaseUri]https://admiral-p.azurefd.net"; }
'refs/heads/development' {Write-Host "##vso[task.setvariable variable=admiralBaseUri]https://admiral-d.azurefd.net"; }
default {Write-Host "##vso[task.setvariable variable=admiralBaseUri]NONE"; }
}

Вопрос: Есть ли способ, который лучше этого подхода? как вы справляетесь с такими ситуациями?

...