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.0
a 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.0
a 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.exe
použí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 |