Разные azure-pipelines.yml для разных веток / сред - PullRequest
0 голосов
/ 08 июля 2019

У меня есть azure-pipelines.yml в ветке 'Develop', настроенной на запуск CI / CD после каждой сборки. Но для ветки 'release' я хотел бы иметь другой конвейер с другим потоком. Как дифференцировать разные потоки в конвейере для разных сред?

Это начало моего файла.

trigger:
- develop

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

1 Ответ

0 голосов
/ 08 июля 2019

зависит от того, что именно вы хотите сделать, вы можете использовать условия:

- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
  # obviously you'd need to put conditions on all the steps 

или вы можете просто создать совершенно другой конвейер и использовать этот триггер только для мастера.

Я думаю, это также будет работать:

steps:
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
  - task: NodeTool@0
    inputs:
      versionSpec: '10.x'
    displayName: 'Install Node.js'
  - powershell: 'get-process'

таким образом, вы можете поместить несколько задач в одну и ту же if.

...