AzureResourceManagerTemplateDeployment@3 - ARM テンプレートデプロイ v3 タスク
このタスクを使用して、Azure Resource Manager (ARM) テンプレートをすべてのデプロイ スコープにデプロイします。
構文
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
#useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
入力
deploymentScope
-
デプロイ スコープ
string
. 必須です。 許可値: Management Group
、Subscription
、Resource Group
。 既定値: Resource Group
。
デプロイのスコープ。 デプロイ スコープの詳細については、こちらを参照してください。
azureResourceManagerConnection
-
Azure Resource Manager接続
入力エイリアス: ConnectedServiceName
。
string
. 必須です。
選択したデプロイ スコープにアクセスできる Azure Resource Manager サービス接続を指定します。
subscriptionId
-
サブスクリプション
入力エイリアス: subscriptionName
。
string
.
deploymentScope != Management Group
の場合に必要です。
Azure サブスクリプションを指定します。
重要
指定する値は、サブスクリプション名ではなくサブスクリプション ID である必要があります。
action
-
アクション
string
.
deploymentScope = Resource Group
の場合に必要です。 使用できる値: Create Or Update Resource Group
、 DeleteRG
(リソース グループの削除)。 既定値: Create Or Update Resource Group
。
Azure リソースまたはリソース グループに対して実行されるアクション。
resourceGroupName
-
リソース グループ
string
.
deploymentScope = Resource Group
の場合に必要です。
リソース グループの名前を指定します。
location
-
場所
string
.
action = Create Or Update Resource Group || deploymentScope != Resource Group
の場合に必要です。
リソース グループのデプロイ スコープ: リソース グループをデプロイする場所。 リソース グループが Azure サブスクリプションに既に存在する場合、この値は無視されます。 その他のデプロイ スコープ: デプロイ メタデータを格納する場所。
templateLocation
-
テンプレートの場所
string
.
action = Create Or Update Resource Group || deploymentScope != Resource Group
の場合に必要です。 使用できる値: Linked artifact
、URL of the file
。 既定値: Linked artifact
。
テンプレートとパラメーター JSON ファイルの場所。 ファイルが リンクされた コード/ビルド成果物の一部である場合は、[リンクされた成果物] を選択します。 リンクされた成果物の場合は、Bicep ファイルへのパスを指定することもできます。 JSON ファイルがパブリックに アクセス可能な http/https URL にある場合は、ファイルの URL を選択します。 プライベート ストレージ アカウントに格納されているファイルを使用するには、Shared Access Signature (SAS) トークンを取得してテンプレートの URL に含めます。 例: <blob_storage_url>/template.json?
. パラメーター ファイルをストレージ アカウントにアップロードして SAS トークンを生成するには、 Azure ファイル コピー タスク を使用するか、 PowerShell または Azure CLI を使用する手順に従います。
csmFileLink
-
テンプレート リンク
string
.
templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group
の場合に必要です。
テンプレート ファイルの URL を指定します。 URL の例: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
プライベート ストレージ アカウントに格納されているテンプレートをデプロイするには、Shared Access Signature (SAS) トークンを取得してテンプレートの URL に含めます。 例: <blob_storage_url>/template.json?<SAStoken>
. テンプレート ファイル (またはリンクされたテンプレート) をストレージ アカウントにアップロードして SAS トークンを生成するには、 Azure ファイル コピー タスクを使用するか、 PowerShell または Azure CLI を使用する手順に従います。
グリッド内のテンプレート パラメーターを表示するには、[テンプレート パラメーターの ...
オーバーライド] テキスト ボックスの横にある をクリックします。 この機能を利用するには、ソースで CORS ルールが有効になっている必要があります。 テンプレートが Azure ストレージ BLOB 内にある場合は、「 クロスオリジン リソース共有 」を参照して CORS を有効にします。
csmParametersFileLink
-
[テンプレート パラメーター] リンク
string
. 省略可能。 の場合は templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。
パラメーター ファイルの URL を指定します。 URL の例: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json
プライベート ストレージ アカウントに格納されているファイルを使用するには、Shared Access Signature (SAS) トークンを取得してテンプレートの URL に含めます。 例: <blob_storage_url>/template.json?<SAStoken>
. テンプレート ファイル (またはリンクされたテンプレート) をストレージ アカウントにアップロードして SAS トークンを生成するには、 Azure ファイル コピー タスクを使用するか、 PowerShell または Azure CLI を使用する手順に従います。
グリッド内のテンプレート パラメーターを表示するには、[テンプレート パラメーターのオーバーライド] テキスト ボックスの ...
横にある をクリックします。 この機能を利用するには、ソースで CORS ルールが有効になっている必要があります。 テンプレートが Azure ストレージ BLOB 内にある場合は、「 クロスオリジン リソース共有 」を参照して CORS を有効にします。
csmFile
-
テンプレート
string
.
templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group
の場合に必要です。
Azure Resource Manager テンプレートを指すパスまたはパターンを指定します。 Azure Resource Manager テンプレートの詳細については、こちらを参照してください。 すぐに開始するには、 このサンプル テンプレートを使用します。 Azure CLI バージョン > 2.20.0 の場合、Bicep ファイルをサポートします。
csmParametersFile
-
テンプレート パラメーター
string
. 省略可能。 の場合は templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。
Azure Resource Manager テンプレートのパラメーター ファイルを指すパスまたはパターンを指定します。 Azure CLI バージョン > 2.47.0 の場合、Bicep Param ファイルをサポートします。
overrideParameters
-
テンプレート パラメーターをオーバーライドする
string
. 省略可能。 の場合は action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。
オーバーライドするテンプレート パラメーターを指定します。
グリッド内のテンプレート パラメーターを表示するには、[パラメーターのオーバーライド] ボックスの ...
横にある をクリックします。 この機能を利用するには、ソースで CORS ルールが有効になっている必要があります。 テンプレートが Azure ストレージ BLOB にある場合は、この文字列を参照して CORS を有効にするか、テキスト ボックスにオーバーライドするテンプレート パラメーターを入力します。
例: -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre)
.
パラメーター値に複数の単語がある場合は、変数を使用して値を渡す場合でも、単語を引用符で囲みます。
たとえば、「 -name "parameter value" -name2 "$(var)"
」のように入力します。
オブジェクト型パラメーターをオーバーライドするには、文字列化された JSON オブジェクトを使用します。
たとえば、「 -options ["option1"] -map {"key1": "value1" }
」のように入力します。
deploymentMode
-
デプロイ モード
string
.
action = Create Or Update Resource Group || deploymentScope != Resource Group
の場合に必要です。 使用できる値: Incremental
、、 Complete
Validation
(検証のみ)。 既定値: Incremental
。
モードでは、 Incremental
リソース グループへの増分更新としてデプロイが処理されます。 これは、リソース グループ内に存在していてもテンプレートで指定されていないリソースを未変更のまま残します。
Complete
モードでは、テンプレートに含まれていないリソースが削除されます。 完全モードは、増分モードよりも比較的時間がかかります。 タスクがタイムアウトした場合は、タイムアウトを増やすか、モードに Incremental
変更することを検討してください。
警告
完全モードでは、テンプレートで指定されていないリソース グループ内のすべての既存のリソースが削除されます。 デプロイするリソース グループに、テンプレートで指定されていない必要なリソースが含まれていないかどうかを確認します。
Validate
モードを使用すると、実際のリソースを作成する前にテンプレートに関する問題を見つけることができます。
注意
このモードでは Validate
、リソースがデプロイされていない場合でも、常にリソース グループが作成されます。
デプロイ モードの詳細については、こちらを参照してください。
deploymentName
-
デプロイ名
string
. 省略可能。 の場合は action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。
作成するリソース グループデプロイの名前を指定します。
deploymentOutputs
-
デプロイの出力
string
. 省略可能。 の場合は action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。
出力変数の変数の名前を指定します。この変数には、現在のデプロイ オブジェクトの outputs セクションが文字列形式で含まれています。 PowerShell コマンドレットを ConvertFrom-Json
使用して JSON オブジェクトを解析し、個々の出力値にアクセスできます。
デプロイ出力の詳細については、こちらを参照してください。
addSpnToEnvironment
-
オーバーライド パラメーターのサービス プリンシパルの詳細にアクセスする
boolean
. 省略可能。 の場合は action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。 既定値: false
。
スクリプトの実行環境として選択された Azure エンドポイントのサービス プリンシパル ID とキーを追加します。 変数 $servicePrincipalId
と $servicePrincipalKey
は、 などの -key $servicePrincipalKey
オーバーライド パラメーターに含めることができます。
useWithoutJSON
-
JSON を使用せずに個々の出力値を使用します。Stringify が適用されました
boolean
. 省略可能。 の場合は action = Create Or Update Resource Group || deploymentScope != Resource Group
を使用します。 既定値: false
。
個々の出力値は JSON 経由で変換されます。既定では Stringify です。 出力値をそのまま使用する場合は、JSON 経由で変換しません。Stringify、このオプションを有効にします。 詳細については、 こちらを参照してください。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
注意
このタスクは、Azure CLI バージョン > 2.20.0 の場合に Bicep ファイルをサポートします。
- すべてのデプロイ スコープでデプロイのサポートが追加されました。
- VM 関連のすべてのアクションを削除しました。
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.119.1 以降 |
タスクのカテゴリ | 配置 |