クイック スタート: ARM テンプレートを使用してマネージド DevOps プールを作成する
この記事では、ARM テンプレートを使用してマネージド DevOps プールを作成し、新しいプールでパイプラインを実行する方法について説明します。
前提条件
この記事の手順を完了する前に、「 Prerequisites 」の記事で説明されているように、マネージド DevOps プールで使用するように Azure サブスクリプションと Azure DevOps 組織を構成しておく必要があります。 これらの手順は、Azure サブスクリプションと Azure DevOps 組織ごとに 1 回だけ完了する必要があります。
Azure CLI にサインインする
コマンド プロンプトを開き (Windows の場合は Windows コマンド プロンプトまたは PowerShell を使用)、次のコマンドを実行します。
Azure CLI にサインインします。
az login
複数の Azure サブスクリプションがある場合は、既定の Azure サブスクリプションを設定します。
az account set --subscription "My subscription name"
サブスクリプションの一覧を取得するには、次のコマンドを実行します。
az account list -o table
複数のテナントがある場合、または Azure CLI を使用して Azure サブスクリプションを操作する方法の詳細については、「 Azure CLI を使用して Azure サブスクリプションを管理する方法を参照してください。
リソース グループ、デベロッパー センター、デベロッパー センター Project を作成する
作成のデベロッパー センターの作成手順に従い、Azure CLI を使用して Azure デプロイ環境のデベロッパー センターを構成します。
必要なのは、「 デベロッパー センターを作成する 」セクションの手順に従うだけです。 リソース グループ名とデベロッパー センター名を書き留めます。
プロジェクトの作成手順に従 Azure CLI を使用してプロジェクトを作成し、構成します。
作成したプロジェクトの
id
(devCenterId
ではなく) を書き留めます。
テンプレートを確認して保存する
次の内容を含むローカル ファイル名 mdp-azure-deploy.json を作成します。 このファイルは、
microsoft.devopsinfrastructure/pools
リソースを作成するパラメーター化された ARM テンプレートです。{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "poolName": { "type": "string" }, "adoOrg": { "type": "string" }, "devCenterResourceId": { "type": "string" }, "imageName": { "type": "string" }, "poolSize": { "type": "int" }, "location": { "type": "string", "defaultValue": "eastus" } }, "variables": {}, "resources": [ { "name": "[parameters('poolName')]", "type": "microsoft.devopsinfrastructure/pools", "apiVersion": "2024-10-19", "location": "[parameters('location')]", "tags": {}, "properties": { "organizationProfile": { "organizations": [ { "url": "[parameters('adoOrg')]", "parallelism": 1 } ], "permissionProfile": { "kind": "CreatorOnly" }, "kind": "AzureDevOps" }, "devCenterProjectResourceId": "[parameters('devCenterResourceId')]", "maximumConcurrency": "[parameters('poolSize')]", "agentProfile": { "kind": "Stateless" }, "fabricProfile": { "sku": { "name": "Standard_D2ads_v5" }, "images": [ { "wellKnownImageName": "[parameters('imageName')]", "buffer": "*" } ], "kind": "Vmss" } } } ] }
mdp-azure-deploy-parameters.jsonという名前の別のローカル ファイルを作成し、最初のファイルと同じフォルダーに保存します。 環境の詳細と一致するように、次のプロパティを更新します。
パラメーター 値 poolName
プールの目的の名前で value
を更新します。 名前は、英数字、.
、-
、または_
で構成され、長さは 3 ~ 44 文字である必要があります。 名前は Azure でグローバルに一意である必要があります。adoOrg
value
を更新し、your-organization
を Azure DevOps 組織の名前に置き換えます。devCenterResourceId
前のの id
を使用してvalue
を更新します。リソース グループ、デベロッパー センター、および デベロッパー センター Project ステップを作成します。imageName
この例は、 Azure Pipelines イメージを使用するように構成され、Windows Server 2022 イメージを使用します。 これを変更する場合は、 Azure Pipelines イメージの定義済みエイリアスから選択します。 マネージド DevOps プールでは、Azure コンピューティング ギャラリー イメージと選択したマーケットプレース イメージもサポートされます。 これらのイメージの種類に対して Managed DevOps プール リソースを構成する方法については、「 マネージド DevOps プール イメージの構成を参照してください。 poolSize
同時実行ジョブを実行できるエージェントの最大数で value
を更新します。 この例では、poolSize
は1
。location
プールの Azure リージョン。 この例では、リージョンは eastus
。{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "poolName": { "value": "my-first-managed-pool" }, "adoOrg": { "value": "https://dev.azure.com/your-organization" }, "devCenterResourceId": { "value": "/subscriptions/subscription_id_placeholder/resourceGroups/fabrikam-managed-devops-pools/providers/Microsoft.DevCenter/projects/fabrikam-dev-center-project" }, "imageName": { "value": "windows-2022" }, "poolSize": { "value": 1 }, "location": { "value": "eastus" } } }
マネージド DevOps プールを作成する
コマンド プロンプトを開き (Windows の場合は Windows コマンド プロンプトまたは PowerShell を使用)、次のコマンドを実行します。 最初の手順の Azure CLI セッションがまだアクティブな場合は、最初の 2 つのコマンドをスキップできます。
Azure CLI にサインインします。
az login
複数の Azure サブスクリプションがある場合は、既定の Azure サブスクリプションを設定します。
az account set --subscription "My subscription name"
サブスクリプションの一覧を取得するには、次のコマンドを実行します。
az account list -o table
複数のテナントがある場合、または Azure CLI を使用して Azure サブスクリプションを操作する方法の詳細については、「 Azure CLI を使用して Azure サブスクリプションを管理する方法を参照してください。
前の手順で 2 つの JSON ファイルを保存したときにフォルダーに移動します。 この例では、ファイルは
C:\examples
に保存されます。cd c:\examples
マネージド DevOps プールを作成します。
<resourceGroupName>
を、最初の手順で作成したリソース グループに置き換えます。az deployment group create --resource-group <resourceGroupName> --template-file mdp-azure-deploy.json --parameters mdp-azure-deploy-parameters.json
必要な Azure VM SKU と最大エージェント数でプールを構成する容量がないサブスクリプションの場合、プールの作成は次のメッセージのようなエラーで失敗します。
Cores needed to complete this request is 8, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97
. この問題を解決するには、「マネージド DevOps プール クォータを確認する」を参照してください。
Azure portal で作成したプールを表示する
Azure portal にサインインします。
管理された DevOps プールを検索し使用可能なオプションから選択します。
一覧から新しい Managed DevOps プールを選択します。
JSON ビューを選択して、Managed DevOps Pools リソースの JSON 形式を確認します。
Azure DevOps でエージェント プールを表示する
Azure DevOps ポータルに移動し、Azure DevOps 組織 (
https://dev.azure.com/{your-organization}
) にサインインします。Azure DevOps>Organization 設定に移動します。
Pipelines>Agent プールに移動し、新しいプールが一覧表示されていることを確認します。 Managed DevOps プールを作成したばかりの場合、新しいプールがエージェントの一覧に表示されるまでに少し時間がかかることがあります。
新しいプールでパイプラインを実行する
この手順では、Azure DevOps プロジェクトの既定のリポジトリに単純なパイプラインを作成し、新しい Managed DevOps プールで実行します。
Azure DevOps ポータルに移動し、Azure DevOps 組織 (
https://dev.azure.com/{your-organization}
) にサインインします。パイプラインを実行するプロジェクトに移動し、[パイプライン] を選択します。
新しいパイプライン (最初のパイプラインの場合は Create Pipeline) を選択します。
[ Azure Repos Git を選択します。
プロジェクトと同じ名前のリポジトリを選択します。 この例では、プロジェクトの名前は FabrikamFiber であるため、同じ名前のリポジトリを選択します。
スターター パイプラインを選択します。
既定では、スターター テンプレートは Microsoft でホストされている Linux エージェントを使用します。 パイプライン テンプレートを編集し、前の手順で作成したプールを参照するように、
pool
セクションを変更します。# Change these two lines as shown in the following example. pool: vmImage: ubuntu-latest
この例では、Managed DevOps プールの名前は
fabrikam-managed-pool
であるため、vmImage: ubuntu-latest
をname: fabrikam-managed-pools
に置き換え、Managed DevOps プールの名前を指定します。# Replace fabrikam-managed-pools with the name # of your Managed DevOps Pool. pool: name: fabrikam-managed-pool
保存して実行を選択し、もう一度保存して実行を選択して確認します。
これがこのプールで最初に実行されるパイプラインの場合は、パイプラインを実行する前にアクセス許可を付与するように求められる場合があります。
Azure DevOps の パイプラインの実行 を確認し、Azure portal に切り替えて、 Agents ビューで実行中のエージェントを確認できます。
リソースをクリーンアップする
クイック スタートを完了したら、作成したリソースを引き続き使用しない場合は削除します。
Managed DevOps プール、デベロッパー センター、デベロッパー センター プロジェクトを削除するには、それらを含むリソース グループをして削除できます。