パイプライン トリガーのトラブルシューティング

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

パイプラインがまったく開始しない場合は、次のトリガーに関連する一般的な問題を調べます。

注意

実行が開始されない可能性があるその他の理由は、最後のユーザーが Azure DevOps からサインアウトしてから 5 分後に組織が休止状態になることです。 その後で、各ビルド パイプラインはもう 1 回実行されます。 たとえば、組織が休止状態の場合、次のようになります。

  • 組織でのコードの夜間ビルドは、誰かが再びサインインするまで、1 晩だけ実行されます。
  • 他の Git リポジトリの CI ビルドは、誰かが再びサインインするまで実行を停止します。

UI の設定が YAML のトリガー設定をオーバーライドしている

YAML パイプラインの triggerpr のトリガー設定は、パイプライン設定 UI でオーバーライドされる可能性があります。 trigger または pr トリガーが起動しないと思われる場合は、その設定を調べます。 パイプラインの編集時に、[...] を選択し、[トリガー] を選択します。

パイプライン設定の UI

リポジトリで使用できるトリガーの種類 ([継続的インテグレーション] または [pull request 検証]) に対する "ここから YAML トリガーをオーバーライドする" 設定を調べます。

ここから YAML トリガーをオーバーライドする。

pull request トリガーが Azure Repos でサポートされていない

pr トリガーが起動せず、Azure Repos を使っている場合は、pr トリガーは Azure Repos でサポートされていないためです。 Azure Repos Git では、pull request のビルド検証の実装にブランチ ポリシーが使われます。 詳しくは、pull request 検証のブランチ ポリシーに関する記事をご覧ください。

[暗黙的な YAML CI トリガー設定の無効化] が有効になっている

YAML パイプラインは、Azure DevOps スプリント 227 で導入された [暗黙的な YAML CI トリガー設定を無効化する] 設定が有効になっていない限り、すべてのブランチで CI トリガーを使用して既定で構成されます。 [暗黙的な YAML CI トリガーの無効化] 設定は、組織レベルまたはプロジェクト レベルで構成できます。既定では、この設定は有効になっていません。

パイプラインが既定の暗黙的な CI トリガーを使用し、それらが動作を停止する場合は、この設定をチェックします。 [暗黙的な YAML CI トリガーの無効化] 設定が有効になっているときに、YAML パイプラインに trigger セクションがない場合、YAML パイプラインの CI トリガーは有効になりません。

CI トリガーと PR トリガーでブランチ フィルターが正しく構成されていない

YAML の PR または CI トリガーを定義するとき、ブランチとパスに対して include 句と exclude 句の両方を指定できます。 include 句がコミットの詳細と一致していることと、exclude 句がそれらを除外していないことを確認します。

重要

YAML の PR または CI トリガーを定義すると、含まれるよう明示的に構成されているブランチのみが実行をトリガーします。 含めるものが最初に処理された後、除外するものがリストから削除されます。 除外するものだけを指定して、含めるものを指定しないと、何もトリガーされません。 詳しくは、prトリガーに関する記事をご覧ください。

YAML の PR または CI トリガーを定義するとき、ブランチ、タグ、パスに対して include 句と exclude 句の両方を指定できます。 include 句がコミットの詳細と一致していることと、exclude 句がそれらを除外していないことを確認します。 詳しくは、prトリガーに関する記事をご覧ください。

注意

include 句を指定せずに exclude 句を指定すると、include 句に * を指定した場合と同じなります。

スケジュールされたトリガーのタイム ゾーンの変換

YAML のスケジュールされたトリガーは、UTC タイム ゾーンを使って設定されます。 スケジュールされたトリガーが適切なタイミングで起動していないように見える場合は、曜日の設定も考慮して、UTC とローカル タイム ゾーンの間の変換を確認してください。 詳細については、「スケジュールされたトリガー」を参照してください。

UI 設定によって YAML のスケジュール トリガーがオーバーライドされる

YAML パイプラインに YAML スケジュール トリガーと UI 定義のスケジュール トリガーの両方がある場合、UI 定義のスケジュール トリガーのみが実行されます。 YAML パイプラインで YAML 定義のスケジュール トリガーを実行するには、パイプライン設定 UI で定義されているスケジュール トリガーを削除する必要があります。

YAML パイプラインからパイプライン設定 UI にアクセスするには、パイプラインを編集し、[...] を選んでから [トリガー] を選びます。

パイプライン設定の UI

すべてのスケジュール トリガーを削除します。

パイプライン設定 UI でスケジュールされたトリガーを削除します。

UI のスケジュールされたトリガーをすべて削除したら、YAML のスケジュールされたトリガーが実行を開始するために、プッシュを行う必要があります。 詳細については、「スケジュールされたトリガー」を参照してください。

さらにサポートが必要です。 バグを見つけました。 提案があります。 どこに行けばよいですか?

サブスクリプションの取得、課金、テクニカル サポート

問題の報告またはフィードバックの送信は、Developer Community で行ってください。

皆様のご提案をお待ちしています。