Delen via


AzureCLI@2 - Azure CLI v2-taak

Voer Azure CLI-opdrachten uit op een Azure-abonnement in een PowerShell Core/shell-script wanneer deze wordt uitgevoerd op een Linux-agent. Of voer Azure CLI-opdrachten uit op een Azure-abonnement in een PowerShell-/PowerShell Core-/batchscript wanneer deze wordt uitgevoerd op een Windows-agent.

Voer Azure CLI-opdrachten uit op een Azure-abonnement in een PowerShell Core/shell-script wanneer deze wordt uitgevoerd op een Linux-agent. Of voer Azure CLI-opdrachten uit op een Azure-abonnement in een PowerShell-/Powershell Core-/batchscript wanneer deze wordt uitgevoerd op een Windows-agent.

Syntax

# 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.

Invoerwaarden

azureSubscription - Azure Resource Manager-verbinding
Invoeralias: connectedServiceNameARM. string. Vereist.

Selecteer een Azure Resource Manager-serviceverbinding voor de implementatie.


scriptType - Scripttype
string. Vereist. Toegestane waarden: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Type script. Selecteer een bash of-script pscore wanneer u wordt uitgevoerd op een Linux-agent. Of selecteer een batchscript , psof pscore wanneer u uitvoert op een Windows-agent. Een pscore script kan worden uitgevoerd op platformoverschrijdende agents (Linux, macOS of Windows).


scriptType - Scripttype
string. Vereist. Toegestane waarden: ps (Powershell), pscore (Powershell Core), batch, bash (Shell).

Type script. Selecteer een bash of-script pscore wanneer u wordt uitgevoerd op een Linux-agent. Of selecteer een batchscript , psof pscore wanneer u uitvoert op een Windows-agent. Een pscore script kan worden uitgevoerd op platformoverschrijdende agents (Linux, macOS of Windows).


scriptLocation - Scriptlocatie
string. Vereist. Toegestane waarden: inlineScript (Inline script), scriptPath (Scriptpad). Standaardwaarde: scriptPath.

Pad naar het script.


scriptPath - Scriptpad
string. Vereist wanneer scriptLocation = scriptPath.

Volledig gekwalificeerd pad van het script. Gebruik .ps1, .batof .cmd wanneer u een Windows-agent gebruikt. Gebruik .ps1 of .sh bij het gebruik van een Linux-agent of een pad ten opzichte van de standaardwerkmap.


inlineScript - Inlinescript
string. Vereist wanneer scriptLocation = inlineScript.

U kunt uw scripts hier inline schrijven. Wanneer u Windows-agent gebruikt, gebruikt u PowerShell, PowerShell Core of batchscripting. Gebruik PowerShell Core- of shellscripting bij het gebruik van Linux-agents. Gebruik voor batchbestanden het voorvoegsel call vóór elke Azure-opdracht. U kunt ook vooraf gedefinieerde en aangepaste variabelen aan dit script doorgeven met behulp van argumenten.

Hier volgt een voorbeeld van 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. Gebruik wanneer scriptType = ps || scriptType = pscore. Toegestane waarden: stop, continue, silentlyContinue. Standaardwaarde: stop.

Hiermee wordt de regel $ErrorActionPreference = 'VALUE' boven aan uw PowerShell/PowerShell Core-script voorafgegaan.


addSpnToEnvironment - Details van service-principal in script openen
boolean. Standaardwaarde: false.

Voegt de service-principal-id, service-principalsleutel of federatietoken voor workloadidentiteit en tenant-id van het Azure-eindpunt dat u hebt gekozen toe aan de uitvoeringsomgeving van het script. U kunt de servicePrincipalIdvariabelen , servicePrincipalKey of idTokenen tenantId gebruiken in uw script.

Dit wordt alleen gehonoreerd wanneer het Azure-eindpunt een verificatieschema voor service-principals of verificatieschema voor workloadidentiteitsfederatie heeft.

In de volgende lijst ziet u de syntaxis voor toegang tot omgevingsvariabelen op basis van het scripttype.

  • PowerShell-scriptsyntaxis: $env:servicePrincipalId

  • Batchscriptsyntaxis: %servicePrincipalId%

  • Syntaxis van shellscript: $servicePrincipalId


useGlobalConfig - Globale Azure CLI-configuratie gebruiken
boolean. Standaardwaarde: false.

Als deze invoer onwaar is, gebruikt deze taak een eigen Azure CLI-configuratiemap. Gebruik deze taak om Azure CLI-taken uit te voeren in parallelle releases.


workingDirectory - Werkmap
Invoeralias: cwd. string.

Huidige werkmap waarin het script wordt uitgevoerd. Als u dit veld leeg laat, is deze invoer de hoofdmap van de opslagplaats (build) of artefacten (release), namelijk $(System.DefaultWorkingDirectory).


failOnStandardError - Fout bij standaardfout
boolean. Standaardwaarde: false.

Als deze invoer waar is, mislukt deze taak wanneer er fouten naar de stream StandardError worden geschreven. Schakel het selectievakje uit om standaardfouten te negeren en gebruik in plaats daarvan afsluitcodes om de status te bepalen.


powerShellIgnoreLASTEXITCODE - $LASTEXITCODE negeren
boolean. Optioneel. Gebruik wanneer scriptType = ps || scriptType = pscore. Standaardwaarde: false.

Als deze invoer onwaar is, wordt de regel if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } toegevoegd aan het einde van het script. Hiermee wordt de laatste afsluitcode van een externe opdracht doorgegeven als afsluitcode van PowerShell. Anders wordt de regel niet toegevoegd aan het einde van het script.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Wat is er nieuw in versietaakversie 2.0

  • Ondersteuning voor PowerShell en PowerShell Core-script.
  • PowerShell Core werkt met platformoverschrijdende agents (Linux, macOS of Windows). Zorg ervoor dat de agent PowerShell versie 6 of hoger heeft.
  • PowerShell-script werkt alleen met Windows-agent. Zorg ervoor dat de agent PowerShell versie 5 of lager heeft.

Vereisten

  • Een Microsoft Azure-abonnement.
  • Azure Resource Manager serviceverbinding met uw Azure-account.
  • Door Microsoft gehoste agents hebben Azure CLI vooraf geïnstalleerd. Als u echter privéagents gebruikt, installeert u Azure CLI op de computer(s) waarop de build- en releaseagent wordt uitgevoerd. Als er al een agent wordt uitgevoerd op de computer waarop de Azure CLI is geïnstalleerd, start u de agent opnieuw op om ervoor te zorgen dat alle relevante fasevariabelen worden bijgewerkt.

Voorbeelden

In het volgende voorbeeld wordt de versie van Azure CLI weergegeven en worden de details van het abonnement opgehaald.

- 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

In het volgende voorbeeld ziet u hoe u argumenten doorgeeft aan uw script.

  • Argumenten doorgeven aan inlinescripts:

    - 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'
    
  • Argumenten doorgeven met scriptpad:

    - 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'
    

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.0.0 of hoger
Taakcategorie Implementeren

Zie ook