Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voer Azure CLI-commando's uit tegen een Azure-abonnement in een PowerShell Core/Shell-script wanneer je draait op een Linux-agent, of PowerShell/PowerShell Core/Batch-script wanneer je draait op een Windows-agent.
Opmerking
Deze taak wordt uitgebracht als onderdeel van de Access Azure DevOps met Microsoft Entra workload identity functie, en wordt deze en volgende week uitgerold. Als je de functie nog niet ziet in je Azure DevOps Services-project, kijk dan over een paar dagen terug.
Syntaxis
# 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.
Invoer
connectionType
-
verbindingstype
string. Verplicht. Toegestane waarden: azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Standaardwaarde: azureRM.
Type serviceverbinding om te gebruiken.
azureSubscription
-
Azure Resource Manager verbinding
Invoeralias: connectedServiceNameARM.
string. Vereist wanneer connectionType = azureRM.
Specificeer een Azure Resource Manager-serviceverbinding voor de implementatie.
azureDevOpsServiceConnection
-
Azure DevOps Serviceverbinding
string. Vereist wanneer connectionType = azureDevOps.
Specificeer een Azure DevOps serviceverbinding.
scriptType
-
scripttype
string. Verplicht. Toegestane waarden: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).
Type script. Selecteer een bash of pscore script wanneer u deze uitvoert op de Linux-agent. Of selecteer een script batch, ps of pscore wanneer het op Windows agent draait. Een pscore script kan draaien op cross-platform agents (Linux, macOS of Windows).
scriptLocation
-
scriptlocatie
string. Verplicht. Toegestane waarden: inlineScript (inlinescript), scriptPath (scriptpad). Standaardwaarde: scriptPath.
Pad naar script: Bestandspad of Inline script.
scriptPath
-
scriptpad
string. Vereist wanneer scriptLocation = scriptPath.
Volledig gekwalificeerd pad van het script. Gebruik .ps1, .bat of .cmd bij het gebruik van Windows-gebaseerde agent. Gebruik .ps1 of .sh bij het gebruik van een Linux-agent of een pad ten opzichte van de standaardwerkmap.
inlineScript
-
Inline Script
string. Vereist wanneer scriptLocation = inlineScript.
U kunt uw scripts hier inline schrijven. Gebruik bij gebruik van een Windows-agent, PowerShell Core of batchscripting. Gebruik PowerShell Core- of shellscripting wanneer u agents op basis van Linux gebruikt. Voor batchbestanden gebruik je het prefix call vóór elk Azure-commando. U kunt ook vooraf gedefinieerde en aangepaste variabelen aan dit script doorgeven met behulp van argumenten.
Hier volgt een voorbeeld voor PowerShell/PowerShellCore/shell.
az --version
az account show
Hier volgt een voorbeeld voor batch.
call az --version
call az account show
arguments
-
scriptargumenten
Invoeralias: scriptArguments.
string.
Argumenten die zijn doorgegeven aan het script.
powerShellErrorActionPreference
-
ErrorActionPreference
string. Optioneel. Gebruiken wanneer scriptType = ps || scriptType = pscore. Toegestane waarden: stop, continue, silentlyContinue. Standaardwaarde: stop.
Begin de regel $ErrorActionPreference = 'VALUE' bovenaan je powershell/powershell core script.
details van addSpnToEnvironment - Access-service-principal in script-
boolean. Standaardwaarde: false.
Voegt service principal id, service principal key en tenant id van het door je gekozen Azure endpoint toe aan de uitvoeringsomgeving van het script. Je kunt variabelen gebruiken: servicePrincipalId, servicePrincipalKey en tenantId in je script.
Dit wordt alleen gehonoreerd wanneer het Azure-endpoint het Service Principal-authenticatieschema heeft.
Syntaxis om omgevingsvariabelen te benaderen op basis van scripttype.
PowerShell-script: $env:servicePrincipalId
Batchscript: %servicePrincipalId%
Shell-script: $servicePrincipalId.
useGlobalConfig
-
Gebruik de globale Azure CLI configuratie
boolean. Standaardwaarde: false.
Als deze invoer onjuist is, gebruikt deze taak zijn eigen aparte Azure CLI configuratiemap. Dit kan worden gebruikt om Azure CLI taken uit te voeren in parallel releases.
workingDirectory
-
werkmap
Invoeralias: cwd.
string.
Specificeer de werkmap waarin het script wordt uitgevoerd. Als het blanco blijft, is de standaard de root van de repo (build) of artifacts (release), wat []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables) is.
failOnStandardError
-
mislukt bij standaardfout
boolean. Standaardwaarde: false.
Als dit waar is, zal deze taak falen wanneer er fouten worden geschreven naar de StandardError-stroom. Schakel het selectievakje uit om standaardfouten te negeren en afhankelijk te zijn van afsluitcodes om de status te bepalen.
powerShellIgnoreLASTEXITCODE
-
$LASTEXITCODE negeren
boolean. Optioneel. Gebruiken wanneer scriptType = ps || scriptType = pscore. Standaardwaarde: false.
Als dit onjuist is, wordt de regel if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } aan het einde van je script toegevoegd. Dit zorgt ervoor dat de laatste exitcode van een extern commando wordt doorgegeven als de exitcode van PowerShell. Anders wordt de regel niet aan het einde van je script toegevoegd.
visibleAzLogin
-
Zichtbaarheid van AZ Login Output
boolean. Standaardwaarde: true.
Als dit is ingesteld op true, wordt de opdracht az login uitgevoerd naar de taak. Als u deze instelt op false, wordt de az login-uitvoer onderdrukt.
allowNoSubscriptions
-
Sta geen Azure abonnementen toe
boolean. Standaardwaarde: false.
Als dat waar is, zal de taak niet proberen een abonnementscontext in te stellen en zal het inloggegevens toestaan waarbij de identiteit toegang heeft tot geen abonnementen. Je kunt ook een all-zero SubscriptionID (00000000-0000-0000-00000-000000-0000000000) in de serviceverbinding invoeren om impliciet het instellen van de abonnementscontext over te slaan.
keepAzSessionActive
-
[Experimenteel] Houd Azure CLI sessie actief
boolean. Standaardwaarde: false.
Wanneer ingeschakeld, zal deze taak continu inloggen bij Azure om AADSTS700024 fouten te voorkomen bij het aanvragen van toegangstokens na de vervaldatum van de IdToken. Let op: deze functie is EXPERIMENTEEL, werkt mogelijk niet in alle scenario's en je gebruikt hem zonder garanties. Geldig alleen voor serviceverbindingen met het Workload Identity Federation-authenticatieschema.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Wat is er nieuw in versie taak versie 3.0
- Ondersteuning voor dubbele verbindingstypen: Azure Resource Manager en Azure DevOps serviceverbindingen.
- Azure DevOps CLI-integratie met automatische extensie-installatie en configuratie.
- Workload Identity Federation-ondersteuning voor Azure DevOps-verbindingen.
- Optie 'Geen Azure-abonnementen toestaan' toegevoegd om identiteiten zonder abonnementstoegang te ondersteunen.
Vereiste voorwaarden
- Een Microsoft Azure-abonnement.
- Azure Resource Manager serviceverbinding naar je Azure-account.
- Microsoft-gehoste agents hebben Azure CLI vooraf geïnstalleerd. Als je echter private agents gebruikt, installeer dan installeer Azure CLI op de computer(s) die de build- en release-agent draaien. Als er al een agent draait op de machine waarop de Azure CLI is geïnstalleerd, start dan de agent opnieuw op om ervoor te zorgen dat alle relevante fasevariabelen zijn bijgewerkt.
Requirements
| Requirement | Beschrijving |
|---|---|
| Pijplijntypen | YAML, klassieke build, klassieke release |
| Wordt uitgevoerd op | Agent, DeploymentGroup |
| Eisen | Geen |
| Mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
| opdrachtbeperkingen | Alle |
| variabelen instellen | Alle |
| Agentversie | 2.0.0 of hoger |
| Taakcategorie | Implementeren |