並列ジョブの構成と支払い
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
重要
Azure DevOps Server 2019 以降では、リリース内のセルフホステッド同時実行ジョブの料金を支払う必要はありません。 制限は、使用しているエージェントの数によってのみ課せられます。
必要な並列ジョブの数を見積もり、組織のためにさらに並列ジョブを購入する方法を確認してください。
注意
Microsoft では、新しい組織のパブリック プロジェクトと特定のプライベート プロジェクトに対して、並列ジョブの無料付与を一時的に無効にしました。 ただし、お客様はリクエストを提出して、この付与を依頼することができます。 既存の組織とプロジェクトは影響を受けません。 Free レベルのリクエストへの対応には 2 から 3 営業日かかるので、ご注意ください。
並列ジョブとは
パイプラインを定義するときに、ジョブのコレクションとして定義できます。 パイプラインを実行すると、そのパイプラインの一部として複数のジョブを実行できます。 各実行ジョブでは、エージェントで実行される並列ジョブが使用されます。 組織で使用できる十分な並列ジョブがない場合、ジョブはキューに入れられ、順番に実行されます。
Azure Pipelines では、Microsoft ホステッド インフラストラクチャまたは独自の (セルフホステッド) インフラストラクチャ上で並列ジョブを実行できます。 各並列ジョブを使うと、組織で一度に 1 つのジョブを実行できます。 オンプレミスのサーバーを使っている場合、並列ジョブの料金を支払う必要はありません。 並列ジョブの概念は、Azure DevOps Services にのみ適用されます。
Microsoft ホステッドとセルフホステッドの並列ジョブ
Microsoft で管理されているマシン上でジョブを実行する場合は、"Microsoft ホステッド並列ジョブ" を使います。 ジョブは Microsoft ホステッド エージェント上で実行されます。
ビルドとリリースを Azure Pipelines で調整したいが、それらの実行には自分のマシンを使いたい場合は、"セルフホステッド並列ジョブ" を使います。 セルフホステッド並列ジョブの場合、まずセルフホステッド エージェントを自分のマシンに配置します。 これらのセルフホステッド エージェントは、組織にいくつでも登録できます。
並列ジョブのコストはどのくらいですか?
すべての組織にホステッドとセルフホステッドの両方の並列ジョブ向けに、既定で Free レベルのサービスを提供しています。 並列ジョブは組織レベルで購入され、組織内のすべてのプロジェクトで共有されます。
Microsoft ホステッド並列ジョブの場合、パブリック プロジェクトでは、1 回 360 分 (6 時間) まで実行できる Microsoft ホステッド並列ジョブを 10 回まで無料で利用できます。 新しい Azure DevOps 組織を作成するときは、この無料の許可は既定では提供されません。
プライベート プロジェクトの場合、1 回 60 分まで実行できる 1 つの無料ジョブを利用できます。 新しい Azure DevOps 組織を作成するときに、この無料の許可は既定では常に提供されるわけではありません。
パブリックまたはプライベート プロジェクトに対する無料の許可を依頼する場合は、リクエストをお送りください。
注意
Free レベルのリクエストへの対応には 2 から 3 営業日かかります。
パブリック プロジェクトに並列ジョブの時間制限はありません。プライベート プロジェクトには 1 か月あたり 30 時間の時間制限があります。
並列ジョブの数 | 時間制限 | |
---|---|---|
パブリック プロジェクト | 1 回最長 360 分 (6 時間) 実行できる最大 10 個の無料の Microsoft ホステッド並列ジョブ | 1 か月あたりの合計時間に制限はありません |
プライベート プロジェクト | 1 回最長 60 分実行できる 1 つの無料ジョブ | 1 か月あたり 1,800 分 (30 時間) |
Free レベルでは足りなくなった場合は、並列ジョブごとの追加容量を購入することができます。 並列ジョブごとの価格コストについては、「Azure DevOps の料金」ページを参照してください。 有料の並列ジョブの場合、月単位の時間制限がなくなり、各ジョブを最大 360 分 (6 時間) 実行できるようになります。
新しい組織では、Microsoft ホステッド エージェントに対して並列ジョブの最大数が 25 個に制限されます。 サポートに問い合わせて、組織のリージョンの容量に応じて上限の引き上げを依頼してください。
1 つ目の Microsoft ホステッド並列ジョブを購入した場合、組織内の並列ジョブ数はまだ 1 つです。 現在 Free レベルを利用していて、2 つのジョブを同時に実行できるようにするには、2 つの並列ジョブを購入する必要があります。 1 つ目の購入では、1 つ目のジョブの時間制限がなくなるだけです。
ヒント
パイプラインが最大ジョブ タイムアウトを超える場合は、パイプラインを複数のジョブに分割してみてください。 ジョブの詳細については、「パイプラインでのジョブの指定」を参照してください。
並列ジョブはいくつ必要ですか?
キューに登録されたビルドとリリースの数が、使っている並列ジョブの数を超えると、ビルド キューとリリース キューが長くなります。 キューの遅延が長すぎることがわかった場合は、必要に応じて追加の並列ジョブを購入できます。 並列ジョブの上限とジョブの履歴を確認する方法はいくつかあります。
プール使用量レポートを使ってジョブ履歴を表示する
エージェント プールの [分析] タブにあるプール使用量レポートを使うと、実行中のジョブやキューに登録されたジョブと、過去 30 日間の並列ジョブのグラフを確認できます。 キューに登録されたジョブのバックログがあり、実行中のジョブがコンカレンシーの上限に達している場合、追加の並列ジョブを購入することをお勧めします。 詳細については、「プール使用量レポート」を参照してください。
並列ジョブの設定を直接確認する
必要な並列ジョブの数を把握するには、まず自分の組織が現在使っている並列ジョブ数を確認します。
[組織の設定]>[パイプライン]>[並列ジョブ] の順に移動します。
URL の例:
https://{Your_Organization}/_admin/_buildQueue?_a=resourceLimits
組織で使用できる並列ジョブの最大数を表示します。
[進行中のジョブの表示] を選ぶと、使用可能な並列ジョブをアクティブに使っているか、あるいは並列ジョブが使用可能になるのを待機してキューに登録されているすべてのビルドとリリースが表示されます。
コストの見積もり
単純な経験則: 組織内の 4、5 人のユーザーごとに 1 つの並列ジョブが必要であると見積もります。
次のシナリオでは、複数の並列ジョブが必要になる場合があります。
- 複数のチームがある場合で、各チームに CI が必要な場合は、チームごとに並列ジョブが必要になる可能性があります。
- CI トリガーが複数のブランチに適用される場合は、アクティブなブランチごとに並列ジョブが必要になる可能性があります。
- 1 つの組織またはサーバーを使って複数のアプリケーションを開発する場合は、各アプリケーションを同時に配置するための追加の並列ジョブが必要になる可能性があります。
追加の並列ジョブを購入するにはどうすればよいですか?
追加の並列ジョブを購入するには:
- 組織の課金を設定する必要があります
- プロジェクト コレクション管理者グループのメンバーである必要があります。
並列ジョブの購入
組織の設定で追加の並列ジョブを購入する:
組織にサインインします (
https://dev.azure.com/{yourorganization}
)。[設定の編集] を選択します。
[パイプライン] の [並列ジョブ] を選び、Microsoft ホステッド ジョブの [変更] またはセルフホステッド ジョブの [変更] のいずれかを選びます。
目的の金額を入力し、[保存] します。
追加した並列ジョブが使用できるようになるまでに最長 30 分かかる場合があります。
並列ジョブごとの価格コストについては、「Azure DevOps の料金」ページを参照してください。
組織の並列ジョブの量を変更するにはどうすればよいですか?
組織にサインインします (
https://dev.azure.com/{yourorganization}
)。[設定の編集] を選択します。
[パイプライン] の [並列ジョブ] を選び、Microsoft ホステッド ジョブの [並列ジョブを購入します] または [変更]、またはセルフホステッド ジョブの [変更] のいずれかを選びます。
Microsoft ホステッドまたはセルフホステッド ジョブの数量を増減して入力し、[保存] を選びます。
重要
ホステッド XAML ビルド コントローラーはサポートされていません。 XAML ビルドを実行する必要がある組織の場合は、オンプレミス ビルド サーバーを設定し、オンプレミス ビルド コントローラーに切り替えてください。 ホステッド XAML モデルについては、XAML の概要に関する記事を参照してください。
- 新しい並列ジョブ数がアクティブになるまでに最長 30 分かかる場合があります。
DevOps Services で並列ジョブはどのように使われますか?
Microsoft によってホストされている並列ジョブが 1 つだけある組織について考えてみましょう。 このジョブを使うと、その組織内のユーザーは合計で一度に 1 つのジョブのみを実行できます。 追加のジョブがトリガーされると、キューに登録され、前のジョブが終了するまで待機することになります。
リリースまたは YAML パイプラインを使う場合、実行では、ステージにアクティブに配置されているときにだけ並列ジョブが使われます。 リリースが承認または手動介入を待機している間は、並列ジョブは使われません。
サーバー ジョブを実行するとき、またはリリース パイプラインを使って配置グループに配置するときは、並列ジョブを使いません。
- FabrikamFiber CI Build 102 (メイン ブランチ) が最初に開始されます。
- FabrikamFiber Release 11 の配置は、FabrikamFiber CI Build 102 の完了によってトリガーされます。
- FabrikamFiber CI Build 101 (機能ブランチ) がトリガーされます。 Release 11 のデプロイがアクティブになっているので、ビルドはまだ開始できません。 そのため、ビルドはキューに登録されたままになります。
- Release 11 では承認を待機します。 承認を待機しているリリースでは並列ジョブが使われないため、Fabrikam CI Build 101 が開始されます。
- Release 11 は承認されます。 Fabrikam CI Build 101 が完了した後にのみ再開されます。
よく寄せられる質問
フリーティアの公共プロジェクトの資格を得るにはどうすればよいですか?
以下の条件を両方満たす場合、パブリック プロジェクトの Free レベルの制限を受ける対象になります。
- パイプラインが Azure Pipelines パブリック プロジェクトの一部である。
- パイプラインで、GitHub、または Azure DevOps 組織の同じパブリック プロジェクトのパブリック リポジトリをビルドしている。
無料の並列ジョブの付与を申請する方法については、「並列ジョブのコストはどのくらいですか (Microsoft ホステッド)?」を参照してください。
並列ジョブを特定のプロジェクトまたはエージェント プールに割り当てることはできますか?
現在、並列ジョブの容量を特定のプロジェクトまたはエージェント プールにパーティション分割したり、専用にする方法はありません。 次に例を示します。
- 組織で 2 つの並列ジョブを購入します。
- 最初のプロジェクトで 2 つの実行を開始し、両方の並列ジョブを使います。
- 2 つ目のプロジェクトで実行を開始します。 1 つ目のプロジェクトのいずれかの実行が完了するまで、その実行は開始されません。
Azure Pipelines を使用できるユーザーに関する制限はありますか?
Azure Pipelines を使用する場合、必要な数のユーザーを指定できます。 Azure Pipelines の使用に対するユーザーごとの料金は発生しません。 基本および利害関係者の両方のアクセス権を持つユーザーは、必要な数のビルドとリリースを作成できます。
作成できるビルドおよびリリース パイプラインの数に制限はありますか?
いいえ。 数百または数千のパイプラインを無料で作成できます。 任意の数のセルフホステッド エージェントを無料で登録できます。
Visual Studio Enterprise サブスクライバーには、TFS と Azure Pipelines の追加並列ジョブが与えられますか。
はい。 Visual Studio Enterprise サブスクライバーには、Team Foundation Server 2017 以降で並列ジョブが 1 つ、メンバーになっている Azure DevOps Services 組織ごとにセルフホステッド並列ジョブが 1 つ与えられます。
ホステッド エージェントを分単位で支払うオプションについて教えてください。
初期のお客様の中には、ホステッド エージェントの分単位プランをまだご利用の方もいらっしゃいます。 このプランでは、Free レベルの後、最初の 20 時間は $0.05/分、20 時間を過ぎると $0.01/分の料金がかかります。 このプランには次のような制限があるため、並列ジョブ モデルへの移行を検討することをお勧めします。
- 分単位のプランを使用している場合、一度に実行できるジョブは 1 つのみです。
- 月に 14 時間を超える有料時間にビルドを実行する場合、分単位のプランは、並列ジョブ モデルよりもコスト効率が低くなる可能性があります。
組織で XAML ビルド コントローラーを使っています。 料金はどのように請求されますか?
組織内のセルフホステッド並列ジョブ 1 つにつき、1 つの XAML ビルド コントローラーを登録できます。 お客様の組織はセルフホステッド並列ジョブを少なくとも 1 つ無料で利用できるので、追加料金なしで 1 つの XAML ビルド コントローラーを登録できます。 XAML ビルド コントローラーを 1 つ追加するごとに、追加のセルフホステッド並列ジョブが必要です。