Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tuto úlohu použijte ke spuštění skriptu PowerShellu v prostředí Azure. Kontext Azure se ověřuje pomocí poskytnutého připojení služby Azure Resource Manager.
Poznámka:
Azure PowerShell v5 ve výchozím nastavení používá PowerShell Core pro agenty Linuxu a Windows PowerShell pro agenty Windows. Pokud chcete používat nejnovější verzi PowerShellu v agentech Windows, nastavte parametr pwsh na true. Místo toho se použije PowerShell Core.
Syntaxe
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
inputs:
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
#ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
#ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path.
#Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script.
#ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments.
#errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
#FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
# Azure PowerShell version options
#azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version.
# Advanced
#pwsh: false # boolean. Use PowerShell Core. Default: false.
#validateScriptSignature: false # boolean. Optional. Use when ScriptType = FilePath. Validate script signature. Default: false.
#workingDirectory: # string. Working Directory.
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
inputs:
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
#ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
#ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path.
#Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script.
#ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments.
#errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
#FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
# Azure PowerShell version options
#azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version.
# Advanced
#pwsh: false # boolean. Use PowerShell Core. Default: false.
#workingDirectory: # string. Working Directory.
Vstupy
azureSubscription
-
předplatného Azure
Vstupní alias: ConnectedServiceNameARM.
string. Povinné.
Před spuštěním PowerShellu nakonfigurujete předplatné Azure Resource Manageru.
Pomocí výrazů šablon můžete zadat vstup připojení služby. V následujícím příkladu azureSubscription vytváří pomocí formátového řetězce a výrazu založeného na proměnné environmentName.
pool:
vmImage: ubuntu-latest
variables:
# Format string for the service connection
azureSubscriptionFormat: 'connectionString-{0}-001'
stages:
- stage: Prepare
variables:
environmentName: 'test'
# Stage level variable with the service connection name
# Evaluates to conenctionString-test-001
azureSubscription: ${{ format(variables.azureSubscriptionFormat, variables.environmentName) }}
jobs:
- job: RunStuff
steps:
- task: AzureCLI@2
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
scriptType: bash
scriptLocation: inlineScript
inlineScript: 'echo Hello ${{ variables.azureSubscription }}'
- task: AzurePowerShell@5
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
azurePowerShellVersion: 'LatestVersion'
scriptType: 'InlineScript'
inline: Write-Host "Hello ${{ variables.azureSubscription }}"
ScriptType
-
typ skriptu
string. Povolené hodnoty: FilePath (cesta k souboru skriptu), InlineScript (vložený skript). Výchozí hodnota: FilePath.
Typ skriptu: cesta k souboru nebo vložená.
cesta ke skriptu ScriptPath -
string. Volitelný. Používá se při ScriptType = FilePath.
Cesta skriptu. Měla by to být plně kvalifikovaná cesta nebo cesta vzhledem k výchozímu pracovnímu adresáři.
Inline
-
vložený skript
string. Volitelný. Používá se při ScriptType = InlineScript. Výchozí hodnota: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.
Specifikuje skript, který se má spustit. Maximální podporovaná délka vloženého skriptu je 5 000 znaků. Pokud chcete použít delší skript, použijte skript ze souboru.
ScriptArguments
-
argumenty skriptu
string. Volitelný. Používá se při ScriptType = FilePath.
Další parametry, které se mají předat do PowerShellu. Mohou to být buď řadové, nebo pojmenované parametry. Nelze použít pro možnost vloženého skriptu.
errorActionPreference
-
ErrorActionPreference
string. Povolené hodnoty: stop, continue, silentlyContinue. Výchozí hodnota: stop.
Vybere hodnotu ErrorActionPreference proměnné pro spuštění skriptu.
Selhání FailOnStandardError - na standardním chyb
boolean. Výchozí hodnota: false.
Pokud je to pravda, tato úloha selže, pokud se do kanálu chyby zapíšou nějaké chyby nebo pokud se nějaká data zapíšou do standardního datového proudu chyb.
azurePowerShellVersion
-
verze Azure PowerShellu
Vstupní alias: TargetAzurePs.
string. Povolené hodnoty: LatestVersion (nejnovější nainstalovaná verze), OtherVersion (zadejte jinou verzi). Výchozí hodnota: OtherVersion.
V případě hostovaných agentů jsou podporované verze Azure PowerShellu 1.0.0, 1.6.0, 2.3.2, 2.6.0a 3.1.0 (hostovaná fronta VS2017).
Pokud chcete vybrat nejnovější verzi dostupnou v agentu, vyberte LatestVersion (nejnovější nainstalovaná verze).
U privátních agentů můžete zadat upřednostňovanou verzi Azure PowerShellu pomocí OtherVersion (zadejte jinou verzi).
preferredAzurePowerShellVersion
-
upřednostňovanou verzi Azure PowerShellu
Vstupní alias: CustomTargetAzurePs.
string. Požadováno při TargetAzurePs = OtherVersion.
Upřednostňovaná verze Azure PowerShellu musí být správná sémantická verze, např.
1.2.3. Regulární výrazy jako 2.\*,2.3.\* se nepodporují. Hostovaný fond VS2017 v současné době podporuje verze modulů Az 1.0.0, 1.6.0, 2.3.2, 2.6.0a 3.1.0.
pwsh
-
použití PowerShellu Core
boolean. Výchozí hodnota: false.
Pokud je to pravda, budou úlohy spuštěné na agentech systému Windows místo pwsh.exepoužívat powershell.exe z vaší cesty .
validateScriptSignature
-
ověření podpisu skriptu
boolean. Volitelný. Používá se při ScriptType = FilePath. Výchozí hodnota: false.
Pokud je to pravda, úloha nejprve zkontroluje, zda je zadaný skript podepsán a platný před jeho spuštěním.
workingDirectory
-
pracovní adresář
string.
Pracovní adresář, ve kterém se skript spouští.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Řešení problémů
Skript fungoval místně, ale v kanálu selhal
K tomu obvykle dochází v případě, že připojení služby použité v kanálu nemá dostatečná oprávnění ke spuštění skriptu. Místně se skript spustí s vašimi přihlašovacími údaji a bude úspěšný, protože máte požadovaný přístup.
Pokud chcete tento problém vyřešit, ujistěte se, že přihlašovací údaje instančních objektů nebo ověřování mají požadovaná oprávnění. Další informace najdete v tématu Použití řízení přístupu na základě role ke správě přístupu k prostředkům předplatného Azure.
Chyba: Moduly se nepodařilo najít:<název modulu>s verzí:<verze>. Pokud byl modul nedávno nainstalovaný, zkuste to znovu po restartování agenta úloh Azure Pipelines.
Úloha Azure PowerShellu používá k interakci s předplatným Azure modul Azure, AzureRM/Az PowerShell. K tomuto problému dochází v případě, že modul PowerShellu není k dispozici v hostovaném agentu. V případě konkrétní verze úlohy proto upřednostňovaná verze Azure PowerShellu musí být zadána v možnostech verze Azure PowerShellu ze seznamu dostupných verzí. Nainstalovaný software najdete v tabulce Software v agentech hostovaných Microsoftem.
Problémy s připojením ke službě
Informace o řešení potíží souvisejících s připojením ke službě najdete v tématu Řešení potíží s připojením ke službě.
Příklady
Následující příklad ukazuje, jak vyvolat skript ze souboru a předat do něj argumenty skriptu.
- task: AzurePowerShell@5
inputs:
azureSubscription: my-arm-service-connection
scriptType: filePath
scriptPath: $(Build.SourcesDirectory)\myscript.ps1
scriptArguments:
-Arg1 val1 `
-Arg2 val2 `
-Arg3 val3
azurePowerShellVersion: LatestVersion
pwsh: true
Následující argumenty ukazují, jak vyvolat vložený skript.
- task: AzurePowerShell@5
inputs:
azureSubscription: 'Azure subscription connection placeholder'
azurePowerShellVersion: LatestVersion
ScriptType: 'InlineScript'
Inline: |
# You can write your azure powershell scripts inline here.
# You can also pass predefined and custom variables to this script using arguments
Write-Host 'Hello'
Write-Host 'World!'
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení, 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ů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | 2.115.0 nebo vyšší |
| Kategorie úkolu | Nasadit |