如何在该管道中考虑触发 Azure Devops 管道的事件?
How do I take the event that triggered an Azure Devops pipeline into account in that pipeline?
我有一个使用模板的多阶段 YAML 管道。我想根据推到哪个 git 分支做不同的事情。如果是master,我想做一件事,如果是dev,我想做点别的。我在想
- task: ArchiveFiles@2
condition: eq(trigger, "master")
inputs:
rootFolderOrFile: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp'
includeRootFolder: false
archiveType: 'zip'
archiveFile: 'C:\DevOps\artifacts\api-${{ parameters.configuration }}.zip'
replaceExistingArchive: true
verbose: true
- task: CopyFiles@2
condition: eq(trigger, "dev")
inputs:
SourceFolder: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp'
Contents: '**\*.*'
OverWrite: true
TargetFolder: 'C:\QA\Web Sites\API${{ parameters.configuration }}'
显然这是行不通的,因为没有定义“触发器”。但是,如果我想根据推送到的 git 分支采取行动,我该怎么做?
我自己想出来了。我在哪里
condition: eq(trigger, "master")
我只需要做到
condition eq(variables['Build.SourceBranch'], 'master')
旁注: 在这样的比较中,事实证明双引号不起作用;我确定这是有原因的,尽管我从未在文档中看到过这一点。
我有一个使用模板的多阶段 YAML 管道。我想根据推到哪个 git 分支做不同的事情。如果是master,我想做一件事,如果是dev,我想做点别的。我在想
- task: ArchiveFiles@2
condition: eq(trigger, "master")
inputs:
rootFolderOrFile: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp'
includeRootFolder: false
archiveType: 'zip'
archiveFile: 'C:\DevOps\artifacts\api-${{ parameters.configuration }}.zip'
replaceExistingArchive: true
verbose: true
- task: CopyFiles@2
condition: eq(trigger, "dev")
inputs:
SourceFolder: 'C:\DevOps$(Build.BuildNumber)\Content\D_C\a\s\api\obj${{ parameters.configuration }}\Package\PackageTmp'
Contents: '**\*.*'
OverWrite: true
TargetFolder: 'C:\QA\Web Sites\API${{ parameters.configuration }}'
显然这是行不通的,因为没有定义“触发器”。但是,如果我想根据推送到的 git 分支采取行动,我该怎么做?
我自己想出来了。我在哪里
condition: eq(trigger, "master")
我只需要做到
condition eq(variables['Build.SourceBranch'], 'master')
旁注: 在这样的比较中,事实证明双引号不起作用;我确定这是有原因的,尽管我从未在文档中看到过这一点。