Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezzel a feladatsal PowerShell-szkriptet futtathat egy Azure-környezetben. Az Azure-környezet hitelesítése a megadott Azure Resource Manager-szolgáltatáskapcsolattal történik.
Megjegyzés
Az Azure PowerShell v5 alapértelmezés szerint a Linux-ügynökökhöz készült PowerShell Core-t, a Windows-ügynökökhöz pedig a Windows PowerShellt használja. A PowerShell legújabb verziójának Windows-ügynökökön való használatához állítsa a pwsh
paramétert true
. Ezután a PowerShell Core lesz használatban.
Szinopszis
# 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.
Bemenetek
azureSubscription
-
Azure-előfizetési
Bemeneti alias: ConnectedServiceNameARM
.
string
. Szükséges.
A PowerShell futtatása előtt konfigurálni kívánt Azure Resource Manager-előfizetés.
A szolgáltatáskapcsolat bemenetének megadásához sablonkifejezéseket használhat. Az alábbi példában a azureSubscription
egy formátumsztring és egy kifejezés használatával jön létre a environmentName
változó alapján.
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
-
szkripttípus
string
. Engedélyezett értékek: FilePath
(szkriptfájl elérési útja), InlineScript
(beágyazott szkript). Alapértelmezett érték: FilePath
.
A szkript típusa: fájl elérési útja vagy beágyazott.
ScriptPath
-
szkriptútvonal
string
. Opcionális. Használja a ScriptType = FilePath
.
A szkript elérési útja. Ennek teljes elérési útnak vagy az alapértelmezett munkakönyvtárhoz képest egynek kell lennie.
Inline
-
beágyazott szkript
string
. Opcionális. Használja a ScriptType = InlineScript
. Alapértelmezett érték: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments
.
A végrehajtandó szkriptet specifikálja. A maximálisan támogatott beágyazott szkripthossz 5000 karakter. Ha hosszabb szkriptet szeretne használni, használjon egy fájlból származó szkriptet.
ScriptArguments
-
szkriptargumentumok
string
. Opcionális. Használja a ScriptType = FilePath
.
A PowerShellnek továbbadandó további paraméterek. Ezek lehetnek sorszámos vagy elnevezett paraméterek. Beágyazott szkriptek esetében nem alkalmazható.
errorActionPreference
-
ErrorActionPreference
string
. Engedélyezett értékek: stop
, continue
, silentlyContinue
. Alapértelmezett érték: stop
.
Kiválasztja a szkript végrehajtásához használt ErrorActionPreference
változó értékét.
FailOnStandardError
-
Normál hiba
boolean
. Alapértelmezett érték: false
.
Ha ez igaz, ez a feladat sikertelen lesz, ha a hibafolyamatba bármilyen hiba van beírva, vagy ha az adatok a standard hibastreambe vannak írva.
azurePowerShellVersion
-
Azure PowerShell-verzió
Bemeneti alias: TargetAzurePs
.
string
. Engedélyezett értékek: LatestVersion
(legújabb telepített verzió), OtherVersion
(Más verzió megadása). Alapértelmezett érték: OtherVersion
.
Üzemeltetett ügynökök esetén a támogatott Azure PowerShell-verziók a következők: 1.0.0
, 1.6.0
, 2.3.2
, 2.6.0
és 3.1.0
(üzemeltetett VS2017-üzenetsor).
Az ügynökön elérhető legújabb verzió kiválasztásához válassza a LatestVersion
(Legújabb telepített verzió) lehetőséget.
Magánügynökök esetén megadhatja az Azure PowerShell előnyben részesített verzióját a OtherVersion
(Más verzió megadása) használatával.
preferredAzurePowerShellVersion
-
Előnyben részesített Azure PowerShell-verzió
Bemeneti alias: CustomTargetAzurePs
.
string
.
TargetAzurePs = OtherVersion
esetén kötelező.
Az előnyben részesített Azure PowerShell-verziónak megfelelő szemantikai verziónak kell lennie, például.
1.2.3
. A regex, mint a 2.\*,2.3.\*
nem támogatott. A üzemeltetett VS2017 készlet jelenleg az Az modulverziókat támogatja 1.0.0
, 1.6.0
, 2.3.2
, 2.6.0
és 3.1.0
.
pwsh
-
PowerShell Core használata
boolean
. Alapértelmezett érték: false
.
Ha ez igaz, akkor a Windows-ügynökökön futó feladatok pwsh.exe
fognak használni az elérési útból powershell.exe
helyett.
validateScriptSignature
-
Szkript aláírásának ellenőrzése
boolean
. Opcionális. Használja a ScriptType = FilePath
. Alapértelmezett érték: false
.
Ha ez igaz, akkor a feladat először ellenőrzi, hogy a megadott szkript aláírása és érvényes-e a végrehajtása előtt.
workingDirectory
-
Munkakönyvtár
string
.
Az a munkakönyvtár, amelyen a szkript fut.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlők és gyakori feladattulajdonságok.
Kimeneti változók
Nincs.
Megjegyzések
Hibaelhárítás
A szkript helyileg működött, de a folyamat meghiúsult
Ez általában akkor fordul elő, ha a folyamatban használt szolgáltatáskapcsolat nem rendelkezik elegendő engedéllyel a szkript futtatásához. A szkript helyileg a hitelesítő adatokkal fut, és sikeres lesz, mivel lehetséges, hogy Ön rendelkezik a szükséges hozzáféréssel.
A probléma megoldásához győződjön meg arról, hogy a szolgáltatásnév/hitelesítési adatok rendelkeznek a szükséges engedélyekkel. További információért lásd: Az Azure-előfizetések erőforrásaihoz való hozzáférés kezelése szerepköralapú hozzáférés-vezérléssel.
Hiba: Nem található a modul: '<modul neve>' verzióval: '<verzió>'. Ha a modul nemrég lett telepítve, próbálkozzon újra az Azure Pipelines-feladatügynök újraindítása után
Az Azure PowerShell-feladat az Azure/AzureRM/Az PowerShell-modul használatával kommunikál az Azure-előfizetéssel. Ez a probléma akkor fordul elő, ha a PowerShell-modul nem érhető el a üzemeltetett ügynökön. Ezért egy adott feladatverzió esetében Előnyben részesített Azure PowerShell-verziót kell megadni az elérhető verziók listájából Azure PowerShell-verzió beállításai között. A telepített szoftver megtalálható a Szoftver táblában Microsoft által üzemeltetett ügynökök.
Szolgáltatáskapcsolati problémák
A szolgáltatáskapcsolatokkal kapcsolatos problémák elhárításához tekintse meg Szolgáltatáskapcsolat hibaelhárításicímű témakört.
Példák
Az alábbi példa bemutatja, hogyan hívhat meg egy parancsfájlt egy fájlból, és hogyan adhat át szkriptargumentumokat.
- 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
Az alábbi argumentumok bemutatják, hogyan hívhat meg beágyazott szkripteket.
- 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!'
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás bekapcsolva | Ügynök, DeploymentGroup |
Követelmények | Egyik sem |
képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
parancskorlátozások | Bármely |
Változók beállítása | Bármely |
Ügynök verziója | 2.115.0 vagy újabb |
Tevékenységkategória | Üzembe helyezés |