Sdílet prostřednictvím


AzureCLI@2 – úloha Azure CLI v2

Spouštění příkazů Azure CLI pro předplatné Azure ve skriptu PowerShellu Core/Shell při spuštění v agentech pro Linux Nebo při spuštění v agentu pro Windows spusťte příkazy Azure CLI pro předplatné Azure ve skriptu PowerShellu, PowerShellu Core nebo Batch.

Spouštění příkazů Azure CLI pro předplatné Azure ve skriptu PowerShellu Core/Shell při spuštění v agentech pro Linux Nebo při spuštění v agentu pro Windows spusťte příkazy Azure CLI pro předplatné Azure ve skriptu PowerShellu, PowerShellu Core nebo Batch.

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.

Vstupy

azureSubscription - Připojení azure Resource Manager
Alias vstupu: connectedServiceNameARM. string. Povinná hodnota.

Vyberte připojení služby Azure Resource Manager pro nasazení.


scriptType - Typ skriptu
string. Povinná hodnota. Povolené hodnoty: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Typ skriptu. Při spuštění v agentu bash pro Linux vyberte skript nebo pscore . Nebo při spuštění v agentu batchpro Windows vyberte skript , psnebo pscore . Skript pscore může běžet na agentech pro různé platformy (Linux, macOS nebo Windows).


scriptType - Typ skriptu
string. Povinná hodnota. Povolené hodnoty: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Typ skriptu. Při spuštění v agentu bash pro Linux vyberte skript nebo pscore . Nebo při spuštění v agentu batchpro Windows vyberte skript , psnebo pscore . Skript pscore může běžet na agentech pro různé platformy (Linux, macOS nebo Windows).


scriptLocation - Umístění skriptu
string. Povinná hodnota. Povolené hodnoty: inlineScript (vložený skript), scriptPath (cesta ke skriptu). Výchozí hodnota: scriptPath.

Cesta ke skriptu


scriptPath - Cesta ke skriptu
string. Vyžaduje se, když scriptLocation = scriptPath.

Plně kvalifikovaná cesta skriptu. Při použití agenta pro Windows použijte .ps1, .batnebo .cmd . Použijte .ps1 nebo .sh při použití agenta se systémem Linux nebo cestu relativní k výchozímu pracovnímu adresáři.


inlineScript - Vložený skript
string. Vyžaduje se, když scriptLocation = inlineScript.

Skripty můžete napsat přímo tady. Pokud používáte agenta pro Windows, použijte PowerShell, PowerShell Core nebo dávkové skriptování. Při použití linuxových agentů použijte skriptování PowerShellu Core nebo prostředí. U dávkových souborů použijte před každým příkazem Azure předponu call . Tomuto skriptu můžete také předat předdefinované a vlastní proměnné pomocí argumentů.

Následuje příklad pro PowerShell/ PowerShellCore/shell.

az --version 
az account show 

Následuje příklad dávky.

call  az --version 
call az account show

arguments - Argumenty skriptu
Alias vstupu: scriptArguments. string.

Argumenty předané skriptu.


powerShellErrorActionPreference - ErrorActionPreference
string. Nepovinný parametr. Použijte, když scriptType = ps || scriptType = pscore. Povolené hodnoty: stop, continue, silentlyContinue. Výchozí hodnota: stop.

Předsadí řádek $ErrorActionPreference = 'VALUE' v horní části skriptu PowerShellu nebo PowerShellu Core.


addSpnToEnvironment - Přístup k podrobnostem instančního objektu ve skriptu
boolean. Výchozí hodnota: false.

Přidá ID instančního objektu, klíč instančního objektu nebo federační token identity úlohy a ID tenanta zvoleného koncového bodu Azure do spouštěcího prostředí skriptu. Ve skriptu můžete použít servicePrincipalIdproměnné , servicePrincipalKey nebo idTokena tenantId .

To platí jenom v případě, že koncový bod Azure má schéma ověřování instančních objektů nebo schéma ověřování federace identit úloh.

Následující seznam ukazuje syntaxi pro přístup k proměnným prostředí na základě typu skriptu.

  • Syntaxe skriptu PowerShellu: $env:servicePrincipalId

  • Syntaxe skriptů služby Batch: %servicePrincipalId%

  • Syntaxe skriptu prostředí: $servicePrincipalId


useGlobalConfig - Použití globální konfigurace Azure CLI
boolean. Výchozí hodnota: false.

Pokud má tento vstup hodnotu false, bude tato úloha používat vlastní adresář konfigurace Azure CLI. Pomocí této úlohy můžete spouštět úlohy Azure CLI v paralelních verzích.


workingDirectory - Pracovní adresář
Alias vstupu: cwd. string.

Aktuální pracovní adresář, ve kterém je skript spuštěn. Pokud je tento vstup prázdný, je kořenovým adresářem úložiště (sestavení) nebo artefaktů (vydaná verze), což je $(System.DefaultWorkingDirectory).


failOnStandardError - Selhání při standardní chybě
boolean. Výchozí hodnota: false.

Pokud je tento vstup pravdivý, úloha selže při zápisu chyb do datového proudu StandardError. Zrušte zaškrtnutí políčka, pokud chcete ignorovat standardní chyby a místo toho se při určování stavu spoléhat na ukončovací kódy.


powerShellIgnoreLASTEXITCODE - Ignorovat $LASTEXITCODE
boolean. Nepovinný parametr. Použijte, když scriptType = ps || scriptType = pscore. Výchozí hodnota: false.

Pokud má tento vstup hodnotu false, řádek if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } se připojí na konec skriptu. Tím se rozšíří poslední ukončovací kód z externího příkazu jako ukončovací kód PowerShellu. V opačném případě se řádek nepřidá na konec skriptu.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Novinky v úloze verze 2.0

  • Podpora PowerShellu a powershellového skriptu Core
  • PowerShell Core funguje s agenty pro různé platformy (Linux, macOS nebo Windows). Ujistěte se, že agent má PowerShell verze 6 nebo vyšší.
  • Skript PowerShellu funguje jenom s agentem Windows. Ujistěte se, že agent má PowerShell verze 5 nebo nižší.

Požadavky

  • Předplatné Microsoft Azure.
  • Připojení služby Azure Resource Manager k vašemu účtu Azure.
  • Agenti hostovaní Microsoftem mají předinstalované Rozhraní příkazového řádku Azure CLI. Pokud ale používáte privátní agenty, nainstalujte Azure CLI na počítače, na kterých běží agent sestavení a verze. Pokud je na počítači, na kterém je nainstalované Azure CLI, spuštěný agent, restartujte ho, aby se zajistilo, že se aktualizují všechny proměnné příslušné fáze.

Příklady

Následující příklad uvádí verzi Azure CLI a získá podrobnosti o předplatném.

- 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

Následující příklad ukazuje, jak předat argumenty do skriptu.

  • Předávání argumentů vložené skripty:

    - 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'
    
  • Předávání argumentů pomocí cesty ke skriptu:

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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build, klasická verze
Běží na Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.0.0 nebo vyšší
Kategorie úloh Nasadit

Viz také