Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Eseguire i comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script di PowerShell Core/shell durante l'esecuzione nell'agente Linux. In alternativa, eseguire i comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script PowerShell/PowerShell Core/batch durante l'esecuzione nell'agente Windows.
Eseguire i comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script di PowerShell Core/shell durante l'esecuzione nell'agente Linux. In alternativa, eseguire i comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script PowerShell/PowerShell Core/batch quando viene eseguito nell'agente Windows.
Sintassi
# 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.
#visibleAzLogin: true # boolean. az login output visibility. Default: true.
# 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.
Ingressi dati
azureSubscription
-
di connessione di Azure Resource Manager
Alias di input: connectedServiceNameARM
.
string
. Obbligatorio.
Selezionare una connessione al servizio Azure Resource Manager per la distribuzione.
scriptType
-
tipo di script
string
. Obbligatorio. Valori consentiti: ps
(PowerShell), pscore
(PowerShell Core), batch
, bash
(Shell).
Tipo di script. Selezionare uno script bash
o pscore
durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno script batch
, ps
o pscore
durante l'esecuzione nell'agente Windows. Uno script pscore
può essere eseguito su agenti multipiattaforma (Linux, macOS o Windows).
scriptType
-
tipo di script
string
. Obbligatorio. Valori consentiti: ps
(Powershell), pscore
(Powershell Core), batch
, bash
(Shell).
Tipo di script. Selezionare uno script bash
o pscore
durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno script batch
, ps
o pscore
durante l'esecuzione nell'agente Windows. Uno script pscore
può essere eseguito su agenti multipiattaforma (Linux, macOS o Windows).
scriptLocation
-
percorso script
string
. Obbligatorio. Valori consentiti: inlineScript
(script inline), scriptPath
(percorso script). Valore predefinito: scriptPath
Percorso dello script.
scriptPath
-
percorso script
string
. Obbligatorio quando scriptLocation = scriptPath
.
Percorso completo dello script. Usare .ps1
, .bat
o .cmd
quando si usa l'agente basato su Windows. Usare .ps1
o .sh
quando si usa l'agente basato su Linux o un percorso relativo alla directory di lavoro predefinita.
inlineScript
-
script inline
string
. Obbligatorio quando scriptLocation = inlineScript
.
È possibile scrivere gli script inline qui. Quando si usa l'agente Windows, usare PowerShell, PowerShell Core o scripting batch. Usare PowerShell Core o lo scripting della shell quando si usano agenti basati su Linux. Per i file batch, usare il prefisso call
prima di ogni comando di Azure. È anche possibile passare variabili predefinite e personalizzate a questo script usando argomenti.
Di seguito è riportato un esempio per PowerShell/PowerShellCore/shell.
az --version
az account show
Di seguito è riportato un esempio di batch.
call az --version
call az account show
argomenti script arguments
-
Alias di input: scriptArguments
.
string
.
Argomenti passati allo script.
powerShellErrorActionPreference
-
ErroreAzionePreferenza
string
. Opzionale. Usare quando scriptType = ps || scriptType = pscore
. Valori consentiti: stop
, continue
, silentlyContinue
. Valore predefinito: stop
Antepone la riga $ErrorActionPreference = 'VALUE'
nella parte superiore dello script di PowerShell/PowerShell Core.
addSpnToEnvironment
-
accedere ai dettagli dell'entità servizio nello script
boolean
. Valore predefinito: false
Aggiunge l'ID entità servizio, la chiave dell'entità servizio o il token di federazione dell'identità del carico di lavoro e l'ID tenant dell'endpoint di Azure scelto nell'ambiente di esecuzione dello script. È possibile usare le variabili servicePrincipalId
, servicePrincipalKey
o idToken
e tenantId
nello script.
Questa operazione viene rispettata solo quando l'endpoint di Azure ha lo schema di autenticazione dell'entità servizio o lo schema di autenticazione federativo dell'identità del carico di lavoro.
L'elenco seguente mostra la sintassi per accedere alle variabili di ambiente in base al tipo di script.
Sintassi dello script di PowerShell:
$env:servicePrincipalId
Sintassi dello script batch:
%servicePrincipalId%
Sintassi dello script della shell:
$servicePrincipalId
useGlobalConfig
-
Usare la configurazione globale dell'interfaccia della riga di comando di Azure
boolean
. Valore predefinito: false
Se questo input è false, questa attività userà la propria directory di configurazione dell'interfaccia della riga di comando di Azure . Usare questa attività per eseguire le attività dell'interfaccia della riga di comando di Azure in versioni parallele.
workingDirectory
-
directory di lavoro
Alias di input: cwd
.
string
.
Directory di lavoro corrente in cui viene eseguito lo script. Se lasciato vuoto, questo input è la radice del repository (build) o degli artefatti (versione), che è $(System.DefaultWorkingDirectory)
.
failOnStandardError
-
errore standard
boolean
. Valore predefinito: false
Se questo input è true, questa attività avrà esito negativo quando vengono scritti errori nel flusso StandardError. Deselezionare la casella di controllo per ignorare gli errori standard e basarsi invece sui codici di uscita per determinare lo stato.
powerShellIgnoreLASTEXITCODE
-
Ignora $LASTEXITCODE
boolean
. Opzionale. Usare quando scriptType = ps || scriptType = pscore
. Valore predefinito: false
Se questo input è false, la riga if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
viene aggiunta alla fine dello script. Verrà propagato l'ultimo codice di uscita da un comando esterno come codice di uscita di PowerShell. In caso contrario, la riga non viene aggiunta alla fine dello script.
visibleAzLogin
-
az login output visibility
boolean
. Valore predefinito: true
Se è impostato su true, il comando az login restituirà l'attività. L'impostazione su false elimina l'output az login.
Opzioni di controllo delle attività
Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni:
Novità dell'attività Versione versione 2.0
- Supporto per script PowerShell e PowerShell Core.
- PowerShell Core funziona con agenti multipiattaforma (Linux, macOS o Windows), assicurarsi che l'agente abbia PowerShell versione 6 o più.
- Lo script di PowerShell funziona solo con l'agente Windows, assicurarsi che l'agente abbia PowerShell versione 5 o successiva.
Prerequisiti
- Una sottoscrizione di Microsoft Azure.
- Connessione al servizio Azure Resource Manager all'account Azure.
- Interfaccia della riga di comando di Azure preinstallata negli agenti ospitati da Microsoft. Tuttavia, se si usano agenti privati, installare l'interfaccia della riga di comando di Azure nei computer che eseguono la compilazione e rilasciare l'agente. Se un agente è già in esecuzione nel computer in cui è installata l'interfaccia della riga di comando di Azure, riavviarlo per assicurarsi che tutte le variabili di fase pertinenti vengano aggiornate.
Esempi
L'esempio seguente elenca la versione dell'interfaccia della riga di comando di Azure e ottiene i dettagli della sottoscrizione.
- 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
Nell'esempio seguente viene illustrato come passare argomenti allo script.
Passaggio di argomenti agli script inline:
- 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'
Passaggio di argomenti con il percorso dello script:
- 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'
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | 2.0.0 o versione successiva |
Categoria attività | Distribuire |
Vedere anche
- distribuzione del gruppo di risorse di Azure
- distribuzione del servizio cloud di Azure
- Distribuzione di App Web di Azure