自分用のメモ
Azure DevOpsでhotfix用のトピックブランチ含めてCI設定する場合、YAMLではこんな感じトリガーを書きます。
trigger: - master - hotfix/*
ただ、これだとmasterからhotfix用のトピックブランチを新規で作るタイミングでもCIが実行されてしまいます。ブランチ作成時に完全に止める方法はないはずですが(たぶんきっと)、ビルドエージェントの中身を動かさないということなら可能です。
stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
こんな風にstageのconditionでand(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))と指定すると、コミットしたときのみエージェントフェーズが実行されます。
手動やスケジュールビルド、Pull Requestではスキップしてしまうので、それではこまるという場合はPullRequest, Schedule, Manualといった値を指定してください。この辺に載ってます。
もちろん複数エージェントフェーズがある場合、それぞれで指定が必要です。