Azure DevOps 触发器:确定触发了哪个触发器路径
Azure DevOps Trigger: determining which trigger path was triggered
如果我的 yaml 文件定义了多个触发器路径,是否可以确定触发了哪个触发器?
示例:
trigger:
branches:
include:
- '*'
paths:
include:
- folder1/documentation1.xml
- src
在这种特殊情况下,如果我知道 folder1/documentation1.xml
是 changed/triggered,我希望执行特定的 job/step/task。
没有开箱即用的此类功能。您可以安装 Changed files 自定义构建任务:
jobs:
- job: check
displayName: Check changed files
pool:
vmImage: ubuntu-latest
steps:
- task: ChangedFiles@1
name: CheckChanges
inputs:
rules: folder1/documentation1.xml
variable: HasChanged
- job: build
displayName: Build only when code changes
dependsOn: check
condition: eq(dependencies.check.outputs['CheckChanges.HasChanged'], 'true')
steps:
- # Add your build steps here
或者编写您自己的脚本,通过 git diff
命令检查更改的文件。
如果我的 yaml 文件定义了多个触发器路径,是否可以确定触发了哪个触发器?
示例:
trigger:
branches:
include:
- '*'
paths:
include:
- folder1/documentation1.xml
- src
在这种特殊情况下,如果我知道 folder1/documentation1.xml
是 changed/triggered,我希望执行特定的 job/step/task。
没有开箱即用的此类功能。您可以安装 Changed files 自定义构建任务:
jobs:
- job: check
displayName: Check changed files
pool:
vmImage: ubuntu-latest
steps:
- task: ChangedFiles@1
name: CheckChanges
inputs:
rules: folder1/documentation1.xml
variable: HasChanged
- job: build
displayName: Build only when code changes
dependsOn: check
condition: eq(dependencies.check.outputs['CheckChanges.HasChanged'], 'true')
steps:
- # Add your build steps here
或者编写您自己的脚本,通过 git diff
命令检查更改的文件。