AzureCLI@2 - Azure CLI v2 タスク
Linux エージェントで実行する場合は、PowerShell Core/shell スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。 または、Windows エージェントで実行するときに、PowerShell/PowerShell Core/batch スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。
Linux エージェントで実行する場合は、PowerShell Core/shell スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。 または、Windows エージェントで実行するときに、PowerShell/Powershell Core/batch スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。
構文
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
inputs:
azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection.
scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type.
scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
scriptPath: # string. Required when scriptLocation = scriptPath. Script Path.
#inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script.
#arguments: # string. Alias: scriptArguments. Script Arguments.
#powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
# Advanced
#addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
#useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
#workingDirectory: # string. Alias: cwd. Working Directory.
#failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
#powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/Powershell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
inputs:
azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection.
scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type.
scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
scriptPath: # string. Required when scriptLocation = scriptPath. Script Path.
#inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script.
#arguments: # string. Alias: scriptArguments. Script Arguments.
#powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
# Advanced
#addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
#useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
#workingDirectory: # string. Alias: cwd. Working Directory.
#failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
#powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
入力
azureSubscription
- Azure Resource Manager接続
入力エイリアス: connectedServiceNameARM
。 string
. 必須です。
デプロイ用の Azure Resource Manager サービス接続を選択します。
scriptType
- スクリプトの種類
string
. 必須です。 使用できる値: ps
(PowerShell)、 pscore
(PowerShell Core)、 batch
、、 bash
(シェル)。
スクリプトの種類。 Linux エージェントで実行する場合は bash
、 または pscore
スクリプトを選択します。 または、Windows エージェントで batch
実行するときに、、 ps
、または pscore
スクリプトを選択します。 スクリプトは pscore
、クロスプラットフォーム エージェント (Linux、macOS、または Windows) で実行できます。
scriptType
- スクリプトの種類
string
. 必須です。 使用できる値: ps
(Powershell)、 pscore
(Powershell Core)、 batch
、 bash
(シェル)。
スクリプトの種類。 Linux エージェントで実行する場合は bash
、 または pscore
スクリプトを選択します。 または、Windows エージェントで batch
実行するときに、、 ps
、または pscore
スクリプトを選択します。 スクリプトは pscore
、クロスプラットフォーム エージェント (Linux、macOS、または Windows) で実行できます。
scriptLocation
- スクリプトの場所
string
. 必須です。 使用できる値: inlineScript
(インライン スクリプト)、 scriptPath
(スクリプト パス)。 既定値: scriptPath
。
スクリプトへのパス。
scriptPath
- スクリプト パス
string
. scriptLocation = scriptPath
の場合に必要です。
スクリプトの完全修飾パス。 .ps1
.bat
Windows ベースのエージェントを使用する場合は、または .cmd
を使用します。 Linux ベースのエージェントまたは既定の作業ディレクトリに対する相対パスを使用する場合は、 または .sh
を使用.ps1
します。
inlineScript
- インライン スクリプト
string
. scriptLocation = inlineScript
の場合に必要です。
スクリプトはインラインで記述できます。 Windows エージェントを使用する場合は、PowerShell、PowerShell Core、またはバッチ スクリプトを使用します。 Linux ベースのエージェントを使用する場合は、PowerShell Core またはシェル スクリプトを使用します。 バッチ ファイルの場合は、すべての Azure コマンドの前にプレフィックス call
を使用します。 引数を使用して、このスクリプトに定義済み変数とカスタム変数を渡すこともできます。
PowerShell/PowerShellCore/shell の例を次に示します。
az --version
az account show
バッチの例を次に示します。
call az --version
call az account show
arguments
- スクリプト引数
入力エイリアス: scriptArguments
。 string
.
スクリプトに渡される引数。
powerShellErrorActionPreference
- ErrorActionPreference
string
. 省略可能。 の場合は scriptType = ps || scriptType = pscore
を使用します。 許可値: stop
、continue
、silentlyContinue
。 既定値: stop
。
PowerShell/PowerShell Core スクリプトの先頭に行 $ErrorActionPreference = 'VALUE'
を追加します。
addSpnToEnvironment
- スクリプトでサービス プリンシパルの詳細にアクセスする
boolean
. 既定値: false
。
スクリプトの実行環境に、選択した Azure エンドポイントのサービス プリンシパル ID、サービス プリンシパル キーまたはワークロード ID フェデレーション トークン、テナント ID を追加します。 スクリプトで 、servicePrincipalId
servicePrincipalKey
、、idToken
および tenantId
変数を使用できます。
これは、Azure エンドポイントにサービス プリンシパル認証スキームまたはワークロード ID フェデレーション認証スキームがある場合にのみ適用されます。
次の一覧は、スクリプトの種類に基づいて環境変数にアクセスするための構文を示しています。
PowerShell スクリプトの構文:
$env:servicePrincipalId
バッチ スクリプトの構文:
%servicePrincipalId%
シェル スクリプトの構文:
$servicePrincipalId
useGlobalConfig
- グローバル Azure CLI 構成を使用する
boolean
. 既定値: false
。
この入力が false の場合、このタスクでは独自の Azure CLI 構成ディレクトリが使用されます。 このタスクを使用して、Azure CLI タスクを 並列 リリースで実行します。
workingDirectory
- 作業ディレクトリ
入力エイリアス: cwd
。 string
.
スクリプトが実行される現在の作業ディレクトリ。 空白のままにした場合、この入力はリポジトリ (ビルド) または成果物 (リリース) のルート () になります $(System.DefaultWorkingDirectory)
。
failOnStandardError
- 標準エラーで失敗する
boolean
. 既定値: false
。
この入力が true の場合、エラーが StandardError ストリームに書き込まれると、このタスクは失敗します。 標準エラーを無視する場合はチェック ボックスをオフにし、代わりに終了コードを使用して状態を判断します。
powerShellIgnoreLASTEXITCODE
- $LASTEXITCODEを無視する
boolean
. 省略可能。 の場合は scriptType = ps || scriptType = pscore
を使用します。 既定値: false
。
この入力が false の場合、スクリプトの末尾に行 if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
が追加されます。 これにより、PowerShell の終了コードとして、外部コマンドから最後の終了コードが伝達されます。 それ以外の場合、行はスクリプトの末尾に追加されません。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
バージョン タスク バージョン 2.0 の新機能
- PowerShell および PowerShell Core スクリプトのサポート。
- PowerShell Core はクロスプラットフォーム エージェント (Linux、macOS、または Windows) で動作します。エージェントに PowerShell バージョン 6 以上があることを確認します。
- PowerShell スクリプトは Windows エージェントでのみ動作し、エージェントに PowerShell バージョン 5 以下があることを確認します。
前提条件
- Microsoft Azure サブスクリプションが必要です。
- Azure アカウントへの Azure Resource Manager サービス接続。
- Microsoft ホステッド エージェントには Azure CLI が事前にインストールされています。 ただし、プライベート エージェントを使用する予定の場合は、ビルドおよびリリースのエージェントを実行するコンピューターに Azure CLI をインストールします。 Azure CLI がインストールされているマシンでエージェントが既に実行中の場合は、関連するすべてのステージ変数が確実に更新されるように、エージェントを再起動します。
例
次の例では、Azure CLI のバージョンを一覧表示し、サブスクリプションの詳細を取得します。
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
az --version
az account show
次の例は、スクリプトに引数を渡す方法を示しています。
インライン スクリプトに引数を渡す:
- task: AzureCLI@2 inputs: azureSubscription: <Azure_Resource_Manager_Service_Connection> scriptType: 'ps' scriptLocation: 'inlineScript' arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)' inlineScript: './scripts/publish.ps1 $1 $2'
スクリプト パスを使用して引数を渡す:
- task: AzureCLI@2 inputs: azureSubscription: <Azure_Resource_Manager_Service_Connection> scriptType: 'ps' scriptLocation: 'scriptPath' arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)' scriptPath: './scripts/publish.ps1'
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.0.0 以上 |
タスクのカテゴリ | デプロイ |