AzureCLI@2 - Azure CLI v2 görevi

Linux agentinde çalışırken Azure aboneliğine karşı Azure CLI komutlarını PowerShell Core/shell scriptinde çalıştırın. Ya da Windows agent'ında çalışırken Azure aboneliğine karşı Azure CLIe komutlarını çalıştırın.

Sözdizimi

# 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.
    #visibleAzLogin: true # boolean. az login output visibility. Default: true.
# 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.

Girişler

azureSubscription - Azure Resource Manager bağlantı
Giriş diğer adı: connectedServiceNameARM. string. Gerekli.

Dağıtım için Azure Resource Manager service bağlantısı seçin.


scriptType - Betik Türü
string. Gerekli. İzin verilen değerler: ps (PowerShell), pscore (PowerShell Core), batch, bash (Kabuk).

Betiğin türü. Linux aracısı üzerinde çalışırken bir bash veya pscore betiği seçin. Ya da Windows ajanda çalışırken batch, ps veya pscore bebetiği seçin. Bir pscore betiği çapraz platform ajanlarda (Linux, macOS veya Windows) çalışabilir.


scriptLocation - Betik Konumu
string. Gerekli. İzin verilen değerler: inlineScript (Satır içi betik), scriptPath (Betik yolu). Varsayılan değer: scriptPath.

Betiğin yolu.


scriptPath - Betik Yolu
string. scriptLocation = scriptPathgerekir.

Betiğin tam yolu. Windows tabanlı ajan kullanırken .ps1, .bat veya .cmd kullanın. Linux tabanlı aracı veya varsayılan çalışma dizinine göre bir yol kullanırken .ps1 veya .sh kullanın.


Satır içi Betik
string. scriptLocation = inlineScriptgerekir.

Betiklerinizi satır içinde buraya yazabilirsiniz. Windows ajanı kullanırken PowerShell, PowerShell Core veya toplu betik kullan. Linux tabanlı aracıları kullanırken PowerShell Core veya kabuk betiği kullanın. Toplu dosyalar için, her Azure komutundan önce call önekini kullanın. Ayrıca bağımsız değişkenleri kullanarak bu betikte önceden tanımlanmış ve özel değişkenler geçirebilirsiniz.

Aşağıda PowerShell/PowerShellCore/shell örneği verilmiştir.

az --version 
az account show 

Aşağıda toplu iş için bir örnek verilmiştir.

call  az --version 
call az account show

arguments - Betik Bağımsız Değişkenleri
Giriş diğer adı: scriptArguments. string.

Betike geçirilen bağımsız değişkenler.


powerShellErrorActionPreference - ErrorActionPreference
string. Opsiyonel. scriptType = ps || scriptType = pscoreolduğunda kullanın. İzin verilen değerler: stop, continue, silentlyContinue. Varsayılan değer: stop.

PowerShell/PowerShell Core betiğinizin en üstüne satır $ErrorActionPreference = 'VALUE' ekler.


BetikAccess hizmet sorumlusu ayrıntılarını addSpnToEnvironment -
boolean. Varsayılan değer: false.

Seçtiğiniz Azure uç noktasının hizmet başlığı ID'si, hizmet başı anahtarı veya iş yükü kimliği federasyon tokenı ve kiracı kimliğini script'in yürütme ortamına ekler. betiğinizde servicePrincipalId, servicePrincipalKey veya idTokenve tenantId değişkenlerini kullanabilirsiniz.

Bu durum yalnızca Azure uç noktasında hizmet praktiki kimlik doğrulama şeması veya iş yükü kimlik federasyonu kimlik doğrulama şeması olduğunda uygulanır.

Aşağıdaki listede, betik türüne göre ortam değişkenlerine erişim söz dizimi gösterilmektedir.

  • PowerShell betiği söz dizimi: $env:servicePrincipalId

  • Batch betiği söz dizimi: %servicePrincipalId%

  • Kabuk betiği söz dizimi: $servicePrincipalId


useGlobalConfig - Küresel Azure CLI yapılandırmasını kullan
boolean. Varsayılan değer: false.

Eğer bu girdi yanlışsa, bu görev kendi Azure CLI yapılandırma dizinini kullanır. Bu görevi parallel sürümlerinde Azure CLI görevleri çalıştırmak için kullanın.


çalışma dizini
Giriş diğer adı: cwd. string.

Betiğin çalıştırıldığı geçerli çalışma dizini. Boş bırakılırsa, bu giriş $(System.DefaultWorkingDirectory)olan deponun (derleme) veya yapıtların (yayın) köküdür.


standart hatabaşarısız failOnStandardError -
boolean. Varsayılan değer: false.

Bu giriş doğruysa, StandardError akışına herhangi bir hata yazıldığında bu görev başarısız olur. Standart hataları yoksaymak için onay kutusunu temizleyin ve bunun yerine durumu belirlemek için çıkış kodlarını kullanın.


powerShellIgnoreLASTEXITCODE - Yoksay $LASTEXITCODE
boolean. Opsiyonel. scriptType = ps || scriptType = pscoreolduğunda kullanın. Varsayılan değer: false.

Bu giriş false ise, if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } satırı betiğinizin sonuna eklenir. Bu, bir dış komuttan son çıkış kodunu PowerShell'in çıkış kodu olarak yayacaktır. Aksi takdirde, satır betiğinizin sonuna eklenmez.


az login output visibilityvisibleAzLogin -
boolean. Varsayılan değer: true.

Bu true olarak ayarlanırsa, az login komutu göreve çıkış yapacaktır. false olarak ayarlanması az login çıkışını gizler.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Sürüm görevi sürüm 2.0'daki yenilikler

  • PowerShell ve PowerShell Core betiği desteği.
  • PowerShell Core, platformlar arası ajanlarla (Linux, macOS veya Windows) çalışır, ajanın PowerShell sürüm 6 veya daha fazlasına sahip olduğundan emin olun.
  • Powershell scripti sadece Windows ajanı ile çalışır, ajanın PowerShell sürüm 5 veya daha aşağısına sahip olduğundan emin olun.

Önkoşullar

  • Bir Microsoft Azure aboneliği.
  • Azure Resource Manager servis bağlantısı Azure hesabınıza.
  • Microsoft hosted agentlerinde Azure CLI önceden kuruludur. Ancak özel ajanlar kullanıyorsanız, derleme ve sürüm ajanını çalıştıran bilgisayar(lar)da c0/Azure CLI kurun. Eğer bir ajan zaten Azure CLI'nin kurulduğu makinede çalışıyorsa, tüm ilgili aşama değişkenlerinin güncellendiğinden emin olmak için ajanı yeniden başlatın.

Örnekler

Aşağıdaki örnek, Azure CLI sürümünü listeliyor ve abonelik detaylarını alıyor.

- 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

Aşağıdaki örnek, betiğinize bağımsız değişkenlerin nasıl geçir yapılacağını gösterir.

  • Satır içi betiklere bağımsız değişkenleri geçirme:

    - 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'
    
  • Betik yolu ile bağımsız değişkenleri geçirme:

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

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Aracı, DeploymentGroup
Talepleri Hiç kimse
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi bir
Ayarlanabilir değişkenleri Herhangi bir
Aracı sürümü 2.0.0 veya üzeri
Görev kategorisi Uygulamak

Ayrıca bkz.