ゴール
同じ azure Devops プロジェクトにある 2 つのリポジトリのコードを使用するパイプラインがあります。パイプラインは、これらのリポジトリの 1 つにあります。目標は、コードがいずれかのリポジトリのメイン ブランチにプッシュされたときに、このパイプラインがトリガーされることです。両方のリポジトリの他のすべてのブランチは、何もトリガーしないはずです。トリガーは次のように定義されます。
resources:
repositories:
- repository: my-other-repo
type: git
name: myproject/my-other-repo
ref: main
trigger:
- main
trigger:
branches:
include:
- main
実際に何が起こるか
これらのリポジトリのいずれかのメイン ブランチに何かをプッシュすると、必要に応じてパイプラインが開始されます。「my-other-repo」の別のブランチにプッシュされたコードは、何もトリガーしません。しかし、レポ「self」の「another-branch」にプッシュされたコードは、私が望むものではないパイプラインをトリガーします。この場合、「手動およびスケジュールされたビルドのデフォルト ブランチ」を「メイン」に設定したにもかかわらず、「another-branch」の azure-pipelines.yml が使用されるのは奇妙です。
次のようにブランチを明示的に除外しても機能しませんでした。
trigger:
branches:
include:
- main
exclude:
- another-branch
汚れた溶液
パイプライン エディターで:
- ... > トリガー >ここから YAML 継続的インテグレーション トリガーをオーバーライドします
- メインブランチを含めるだけです
質問
リポジトリをフォークする必要があるため、YAML 定義内のソリューションが必要です。この奇妙な動作を説明するために見逃したものはありますか?