次の方法で共有


パイプラインの起動失敗をトラブルシューティングする

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

パイプライン キューが起動しない場合は、次の項目を確認します。

手記

次のシナリオでは、並列ジョブは消費されません。

  • リリース パイプラインまたはマルチステージ YAML パイプラインを使う場合、実行では、ステージにアクティブに配置されているときにだけ並列ジョブが使われます。 リリースが承認待ちや手動介入待ちの間、並列ジョブは消費しません。
  • リリース パイプラインを使用してサーバー ジョブを実行したり、デプロイ グループにデプロイしたりする場合、並列ジョブは使用されません。

詳細情報: パイプラインで並列ジョブを使用する方法デプロイ前の承認の追加サーバー ジョブ展開グループ

並列ジョブの制限 - 使用可能なエージェントがない、または無料利用枠の制限に達している

現在他のパイプラインを実行している場合は、残りの並列ジョブがない場合や空き制限に達している可能性があります。

使用可能な並列ジョブがあるかを確認する

手記

Azure Pipelines では、パブリック プロジェクトと特定のプライベート プロジェクトに対して、新しい組織で Microsoft がホストする並列ジョブの自動無料付与が一時的に無効になりました。 並列ジョブがない場合、パイプラインは次のエラーで失敗します:##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request. 次のセクションで説明するように、Microsoft でホストされている並列ジョブを確認します。並列ジョブが 0 個の場合は、並列ジョブの無料の許可を要求できます。 組織の並列ジョブを無料で受け取るためには、リクエストを提出します。 助成金申請に応答するには、2、3営業日ほどかかります。

制限を確認するには、[プロジェクトの設定][並列ジョブ] に移動します。

パイプラインの同時実行ジョブ

Microsoft ホスト型 エージェント 使用している場合は、Azure DevOps プロジェクトが プライベート プロジェクト (既定) またはパブリック プロジェクトのいずれであるかに応じて、プライベート プロジェクト またはパブリック プロジェクトの、Microsoft ホスト型 の並列ジョブ制限を確認します。

制限を確認したら、同時実行数を確認して、現在実行中のジョブ数と使用可能なジョブ数を把握します。

現在他のパイプラインを実行している場合は、残りの並列ジョブがない場合や空き制限に達している可能性があります。

Azure DevOps からファイアウォールの内側にある Azure Key Vault にアクセスできない

パイプラインから Azure Key Vault にアクセスできない場合、ファイアウォールによって Azure DevOps Services エージェントの IP アドレスがブロックされている可能性があります。 週単位の JSON ファイルで発行された IP アドレス 許可リストに登録する必要があります。 詳細については、「Microsoft でホストされるエージェント: ネットワーク」を参照してください。

コンカレンシーが十分ではない

並行処理の数を確認するには、

  1. 制限を確認するには、[プロジェクトの設定][並列ジョブ] に移動します。

    同時実行パイプラインの制限

    このページにアクセスするには、https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobsに移動するか、[ログから並列ジョブを管理する] を選択します。

    並列ジョブ の管理

  2. コンカレンシーを確認するプール (Microsoft がホストするプールまたはセルフ ホステッド プール) を決定し、[進行中のジョブを表示する] を選択します。

  3. あなたは「現在実行中の X/X ジョブ」というテキストを目にするでしょう。 両方の数値が同じ場合、保留中のジョブは現在実行中のジョブが完了するまで待機します。

    進行中のジョブの を表示する

    プロジェクト設定から エージェント プールを選択すると、キューに登録されたジョブを含むすべてのジョブを表示できます。

    キューに登録されたジョブの を表示する

    この例では、同時実行ジョブの制限は 1 つであり、1 つのジョブが実行され、1 つはキューに登録されています。 この例のように、すべてのエージェントがジョブの実行中にビジー状態の場合、追加のジョブがキューに登録されると、次のメッセージが表示されます: The agent request is not running because all potential agents are running other requests. Current position in queue: 1。 この例では、ジョブはキュー内の次の位置であるため、その位置は 1 です。

あなたの仕事が承認待ちになっているかもしれません。

パイプラインは承認を待っているため、次のステージに移動しない可能性があります。 詳細については、「承認とチェックを定義する」を参照してください。

使用可能なすべてのエージェントが使用中です

すべてのエージェントが現在対応中の場合、タスクは待機する可能性があります。 エージェントを確認するには:

  1. https://dev.azure.com/{org}/_settings/agentpools に移動します

  2. 確認するエージェント プールを選択し、この例では FabrikamPoolを選択して、エージェントを選びます。

    エージェントの状態

    このページには、現在オンラインまたはオフラインで使用中のすべてのエージェントが表示されます。 このページからプールにエージェントを追加することもできます。

エージェントの機能と一致しない要求

パイプラインに、エージェントの機能を満たさない要求がある場合、パイプラインは開始されません。 一部のエージェントのみが必要な機能を備え、現在他のパイプラインを実行している場合、それらのエージェントのいずれかが使用可能になるまでパイプラインはストールします。

エージェントとパイプラインに対して指定された機能と要求を確認するには、「Capabilities」を参照してください。

手記

通常、機能と要求はセルフホステッド エージェントでのみ使用されます。 パイプラインに、エージェントのシステム機能と一致しない要求がある場合、一致する機能を持つエージェントに明示的にラベルを付けない限り、パイプラインはエージェントを取得しません。

TFS エージェントの接続に関する問題

エージェント接続のテスト中に構成が失敗する (オンプレミスの TFS のみ)

Testing agent connection.
VS30063: You are not authorized to access http://<SERVER>:8080/tfs

エージェントの構成中に上記のエラーが発生した場合は、TFS マシンにログオンします。 インターネット インフォメーション サービス (IIS) マネージャーを起動します。 匿名認証 有効になっていることを確認します。

TFS 匿名認証が有効になっている

エージェントが通信を失った

この問題の特徴は、次のエラー メッセージです。

The job has been abandoned because agent did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.

このエラーは、エージェントがサーバーとの通信を数分にわたって失った可能性があることを示している可能性があります。 エージェント コンピューター上のネットワークまたはその他の中断を除外するには、次を確認します。

  • 自動更新がオフになっていることを確認します。 更新プログラムからマシンを再起動すると、上記のエラーでビルドまたはリリースが失敗します。 この種の中断を回避するために、制御された方法で更新プログラムを適用します。 エージェント マシンを再起動する前に、プール管理ページでエージェントを無効としてマークし、実行中のビルドを完了させます。
  • スリープ設定がオフになっていることを確認します。
  • エージェントが仮想マシン上で実行されている場合は、ライブ マイグレーションやその他の VM メンテナンス操作を避けてください。この操作は、マシンの正常性に重大な影響を与える可能性があります(数分間)。
  • エージェントが仮想マシンで実行されている場合は、同じオペレーティング システム更新の推奨事項とスリープ設定の推奨事項がホスト コンピューターに適用されます。 また、ホスト マシンに影響を与えるその他のメンテナンス操作。
  • パフォーマンス モニターのログまたはその他の正常性メトリック のログ記録は、この種類のエラーを、エージェント コンピューター (ディスク、メモリ、ページ ファイル、プロセッサ、ネットワーク) 上のリソースの可用性の制約に関連付けるのに役立ちます。
  • エラーとネットワークの問題を関連付けるもう 1 つの方法は、サーバーに無期限に ping を実行し、タイムスタンプと共に出力をファイルにダンプすることです。 20 秒や 30 秒など、正常な間隔を使用します。 Azure Pipelines を使用している場合は、インターネット ドメイン (bing.com など) に ping を実行します。 オンプレミスの TFS サーバーを使用している場合は、同じネットワーク上のサーバーに ping を実行します。
  • マシンのネットワーク スループットが適切であることを確認します。 オンライン速度テストを実行してスループットを確認できます。
  • プロキシを使用する場合は、エージェントがプロキシを使用するように構成されていることを確認します。 エージェントのデプロイに関するトピックを参照してください。

TFS ジョブ エージェントが開始されていない

これは、Web コンソールの "エージェントが要求されるのを待っている" というメッセージによって特徴付けされる場合があります。 TFSJobAgent (表示名: Visual Studio Team Foundation バックグラウンド ジョブ エージェント) Windows サービスが開始されていることを確認します。

正しく構成されていない通知 URL (1.x エージェント バージョン)

これは、Web コンソールの "エージェントからのコンソール出力を待機しています" というメッセージによって特徴付けられ、プロセスは最終的にタイムアウトします。

通知 URL が一致しない場合、ワーカーはサーバーへの接続に失敗する可能性があります。 Team Foundation 管理コンソール アプリケーション層のを参照してください。 1.x エージェントは、構成された URL を使用してメッセージ キューをリッスンします。 ただし、ジョブ メッセージがキューからプルされると、ワーカー プロセスは通知 URL を使用してサーバーに通信します。

Azure DevOps の状態でサービスの低下を確認する

エージェントのキュー時間の増加など、サービスの低下を引き起こす可能性がある問題については、Azure DevOps Service Status Portal を確認します。 詳細については、「Azure DevOps Service Status」を参照してください。

私はより多くの助けが必要です。 私はバグを見つけました。 私は提案を持っています。 どこに行くのですか?

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

Developer Communityで問題を報告したり、フィードバックを送信したりします。

ご提案をお待ちしております。