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.
Esegui comandi interfaccia della riga di comando di Azure su un abbonamento Azure in uno script PowerShell Core/Shell quando si esegue su un agente Linux o uno script PowerShell/PowerShell Core/Batch quando si usa su un agente Windows.
Annotazioni
Questo compito è stato rilasciato come parte del Azure DevOps Access con Microsoft Entra funzione di identità del carico di lavoro, e sarà distribuito questa settimana e la prossima. Se non vedi ancora questa funzione nel tuo progetto Azure DevOps Services, torna a controllare tra qualche giorno.
Sintassi
# Azure CLI v3
# 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@3
inputs:
connectionType: 'azureRM' # 'azureRM' | 'azureDevOps'. Required. Connection Type. Default: azureRM.
azureSubscription: # string. Alias: connectedServiceNameARM. Required when connectionType = azureRM. Azure Resource Manager connection.
#azureDevOpsServiceConnection: # string. Required when connectionType = azureDevOps. Azure DevOps Service 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.
#allowNoSubscriptions: false # boolean. Allow no Azure subscriptions. Default: false.
#keepAzSessionActive: false # boolean. [Experimental] Keep Azure CLI session active. Default: false.
Input
connectionType
-
tipo di connessione
string. Obbligatorio. Valori consentiti: azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Valore predefinito: azureRM
Tipo di connessione al servizio da utilizzare.
azureSubscription
-
Azure Resource Manager connessione
Alias di input: connectedServiceNameARM.
string. Obbligatorio quando connectionType = azureRM.
Specifica una connessione di servizio Azure Resource Manager per il deployment.
azureDevOpsServiceConnection
-
Azure DevOps Connessione di servizio
string. Obbligatorio quando connectionType = azureDevOps.
Specifica una connessione di servizio Azure DevOps.
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. Oppure, seleziona uno script batch, ps o pscore quando esegui su Windows agente. Uno script pscore può funzionare su agenti multipiattaforma (Linux, macOS o Windows).
scriptLocation
-
percorso script
string. Obbligatorio. Valori consentiti: inlineScript (script inline), scriptPath (percorso script). Valore predefinito: scriptPath
Percorso verso lo script: Percorso file o script Inline.
scriptPath
-
percorso script
string. Obbligatorio quando scriptLocation = scriptPath.
Percorso completo dello script. Usa .ps1, .bat o .cmd quando usi un 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 in linea
string. Obbligatorio quando scriptLocation = inlineScript.
È possibile scrivere gli script inline qui. Quando usi l'agente Windows, usa 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, usa il prefisso call prima di ogni comando 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. Optional. Usare quando scriptType = ps || scriptType = pscore. Valori consentiti: stop, continue, silentlyContinue. Valore predefinito: stop
Precede la riga $ErrorActionPreference = 'VALUE' in cima allo script Powershell/core Powershell.
addSpnToEnvironment
-
accedere ai dettagli dell'entità servizio nello script
boolean. Valore predefinito: false
Aggiunge l'id del principale del servizio, la chiave del principale del servizio e l'id tenant dell'endpoint Azure scelto all'ambiente di esecuzione dello script. Puoi usare variabili: servicePrincipalId, servicePrincipalKey e tenantId nel tuo script.
Questo viene rispettato solo quando l'endpoint Azure ha uno schema di autenticazione Service Principal.
Sintassi per accedere alle variabili dell'ambiente in base al tipo di script.
Script Powershell: $env:servicePrincipalId
Copione batch: %servicePrincipalId%
Script shell: $servicePrincipalId.
useGlobalConfig
-
Usa la configurazione globale interfaccia della riga di comando di Azure
boolean. Valore predefinito: false
Se questo input è falso, questo compito utilizzerà una propria directory di configurazione separata interfaccia della riga di comando di Azure. Questo può essere utilizzato per eseguire interfaccia della riga di comando di Azure compiti in versioni parallelo.
workingDirectory
-
directory di lavoro
Alias di input: cwd.
string.
Specifica la directory di lavoro in cui viene eseguito lo script. Se lasciato vuoto, il valore predefinito è la radice del repository (build) o degli artefatti (release), che è []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables).
failOnStandardError
-
errore standard
boolean. Valore predefinito: false
Se ciò è vero, questo compito fallirà quando verranno scritti errori nel flusso StandardError. Deselezionare la casella di controllo per ignorare gli errori standard e basarsi sui codici di uscita per determinare lo stato.
powerShellIgnoreLASTEXITCODE
-
Ignora $LASTEXITCODE
boolean. Optional. Usare quando scriptType = ps || scriptType = pscore. Valore predefinito: false
Se questo è falso, la riga if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } viene aggiunta alla fine del tuo copione. Questo farà sì che l'ultimo codice di uscita da un comando esterno venga propagato come codice di uscita di Powershell. Altrimenti la riga non viene aggiunta alla fine del tuo copione.
visibleAzLogin
-
Visibilità dell'output di accesso az
boolean. Valore predefinito: true
Se è impostato su true, il comando az login restituirà l'attività. L'impostazione su false elimina l'output az login.
allowNoSubscriptions
-
Consentire nessun abbonamento Azure
boolean. Valore predefinito: false
Se è vero, il compito non tenterà di impostare un contesto di abbonamento e consentirà l'accesso in cui l'identità non ha accesso a nessun abbonamento. Puoi anche fornire un SubscriptionID tutto zero (00000000-0000-0000-0000-0000-0000000000) nella connessione del servizio per saltare implicitamente l'impostazione del contesto di abbonamento.
keepAzSessionActive
-
[Sperimentale] Mantieni attiva interfaccia della riga di comando di Azure sessione
boolean. Valore predefinito: false
Quando abilitato, questo compito effettuerà il login continuo Azure per evitare errori AADSTS700024 quando si richiedono token di accesso oltre la data di scadenza dell'IdToken. Nota che questa funzione è SPERIMENTALE, potrebbe non funzionare in tutti gli scenari e la stai usando senza alcuna garanzia. Valido solo per connessioni di servizio che utilizzano lo schema di autenticazione della Workload Identity Federation.
Opzioni di controllo delle attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni:
Novità nella versione 3.0 del task
- Supporto per tipi di connessione doppi: Azure Resource Manager e Azure DevOps service connections.
- Integrazione CLI di Azure DevOps con installazione e configurazione automatica delle estensioni.
- Supporto della Federazione Identità di Carico di Lavoro per le connessioni Azure DevOps.
- Aggiunta l'opzione 'Non permettere abbonamenti Azure' per supportare identità senza accesso a abbonamento.
Prerequisiti
- Un abbonamento Microsoft Azure.
- Azure Resource Manager connessione servizio al tuo account Azure.
- Gli agenti ospitati Microsoft hanno interfaccia della riga di comando di Azure preinstallata. Tuttavia, se usi agenti privati, installa interfaccia della riga di comando di Azure sul computer o sui computer che eseguono l'agente di build e release. Se un agente è già in esecuzione sulla macchina su cui è installata la interfaccia della riga di comando di Azure, riavvia l'agente per assicurarti che tutte le variabili rilevanti dello stadio siano aggiornate.
Requisiti
| Requisito | Descrizione |
|---|---|
| Tipi di pipeline | YAML, build classica, versione classica |
| Viene eseguito in | Agente, DeploymentGroup |
| Richieste | Nessuno |
| Funzionalità | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
| restrizioni dei comandi | Qualsiasi |
| variabili impostabili | Qualsiasi |
| Versione agente | 2.0.0 o versione successiva |
| Categoria attività | Distribuisci |