情報提供の実行
情報提供の実行では、Azure DevOps が YAML パイプラインのソース コードの取得に失敗したことが通知されます。 ソース コードの取得は、プッシュされたコミットなどの外部イベントに応答して実施されます。 また、コードの変更があるかどうかや、スケジュールされた実行を開始するかどうかなどのチェックのために、内部トリガーに応答して実施されます。 ソース コードの取得は複数の原因で失敗する可能性があります。よくある原因として Git リポジトリ プロバイダーによる要求調整が挙げられます。 情報提供の実行の存在は、Azure DevOps がパイプラインを実行しようとしたことを意味しないこともあります。
情報実行は、次のスクリーンショットで示すようなものです。
情報提供の実行は、次の属性によって認識できます。
- 状態が
Canceled
- 期間が
< 1s
- 実行名には、次のテキストのいずれかが含まれています。
Could not retrieve file content for {file_path} from repository {repo_name} hosted on {host} using commit {commit_sha}.
Could not retrieve content for object {commit_sha} from repository {repo_name} hosted on {host}.
Could not retrieve the tree object {tree_sha} from the repository {repo_name} hosted on {host}.
Could not find {file_path} from repository {repo_name} hosted on {host} using version {commit_sha}. One of the directories in the path contains too many files or subdirectories.
- 通常、実行名には YAML パイプラインの読み込みが失敗する原因になった BitBucket/GitHub エラーが含まれています
- ステージ/ジョブ/ステップはありません
情報提供の実行はいつ作成されますか?
YAML パイプラインを実行する最初の手順は、ソース コードを取得することです。 この手順が失敗すると、システムによって情報提供の実行が作成されます。 これらの実行は、パイプラインのコードが GitHub または BitBucket リポジトリにある場合にのみ作成されます。
パイプラインの YAML コードの取得は、次の理由で失敗する場合があります。
- リポジトリ プロバイダーで障害が発生している場合
- 要求の調整
- 認証の問題
- パイプラインの
.yml
ファイルの内容を取得できない場合
パイプラインは、次の応答で実行されます。
-
trigger
ブランチ リスト内のブランチへのプッシュ -
pr
ブランチ リスト内のブランチを対象とした pull request の作成または更新 - スケジュールされた実行
- Webhook の呼び出し
- リソース リポジトリの更新
- リソース外部ビルドの完了
- リソース パイプラインの完了
- 新しいリソース パッケージのバージョンが利用可能
- リソース コンテナーの変更
情報提供の実行が作成される例を次に示します。 ローカルの BitBucket サーバーにリポジトリがあり、そのリポジトリにコードをビルドするパイプラインがあるとします。 パイプラインを毎日 03:00 に実行するようにスケジュールしたとします。 ここで、03:00 に BitBucket サーバーで障害が発生していることを想像してください。 Azure DevOps はローカルの BitBucket サーバーに到達してパイプラインの YAML コードをフェッチしますが、障害のためにそれができません。 この時点で、システムでは前のスクリーンショットに示すような情報提供の実行が作成されます。
Git リポジトリ プロバイダーによる要求調整は、Azure DevOps Services で情報提供の実行が作成されるよくある原因です。 短時間の間にリポジトリに対する Azure DevOps からの要求が多すぎる場合に調整が発生します。 これらの要求は、たとえば、コミット アクティビティの急増が原因である可能性があります。 調整の問題は一時的なものです。