为了解决这个问题,需要指定trigger为"none",然后在step中添加自定义脚本来实现触发操作。示例代码如下:
trigger:
branches:
include:
- master
paths:
include:
- /src/*
exclude:
- /src/tests/*
steps:
- script: echo The build was triggered manually.
condition: eq(variables['Build.Reason'], 'Manual')
- script: echo The build was triggered by a Git push.
condition: eq(variables['Build.Reason'], 'Push')
- script: echo The build was triggered by a Git PR.
condition: eq(variables['Build.Reason'], 'PullRequest')
- script: echo Add custom conditions here.
condition: eq(variables['Build.Reason'], 'none')
通过这种方式,你可以在pipeline中自定义触发条件,并避免pipeline在推送或者合并代码时随机触发。