Share via


AzureCLI@2 - Azure CLI v2 görevi

Linux aracısı üzerinde çalışırken PowerShell Core/shell betiğinde Azure aboneliğinde Azure CLI komutlarını çalıştırın. Alternatif olarak, Windows aracısı üzerinde çalışırken PowerShell/PowerShell Core/batch betiğinde Azure aboneliğinde Azure CLI komutlarını da çalıştırabilirsiniz.

Linux aracısı üzerinde çalışırken PowerShell Core/shell betiğinde Azure aboneliğinde Azure CLI komutlarını çalıştırın. Alternatif olarak, Windows aracısı üzerinde çalışırken PowerShell/Powershell Core/batch betiğinde Azure aboneliğinde Azure CLI komutlarını çalıştırabilirsiniz.

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.

Girişler

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

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


scriptType - Betik Türü
string. Gereklidir. İ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. Alternatif olarak, Windows aracısı üzerinde çalışırken bir batch, psveya pscore betiği de seçebilirsiniz. Betik pscore platformlar arası aracılarda (Linux, macOS veya Windows) çalıştırılabilir.


scriptType - Betik Türü
string. Gereklidir. İzin verilen değerler: ps (Powershell), pscore (Powershell Core), batch, bash (Shell).

Betiğin türü. Linux aracısı üzerinde çalışırken bir bash veya pscore betiği seçin. Alternatif olarak, Windows aracısı üzerinde çalışırken bir batch, psveya pscore betiği de seçebilirsiniz. Betik pscore platformlar arası aracılarda (Linux, macOS veya Windows) çalıştırılabilir.


scriptLocation - Betik Konumu
string. Gereklidir. İ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. olduğunda scriptLocation = scriptPathgereklidir.

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


inlineScript - Satır içi Betik
string. olduğunda scriptLocation = inlineScriptgereklidir.

Betiklerinizi burada satır içinde yazabilirsiniz. Windows aracısını kullanırken PowerShell, PowerShell Core veya toplu betik kullanın. Linux tabanlı aracıları kullanırken PowerShell Core veya kabuk betiği kullanın. Toplu iş dosyaları için her Azure komutundan önce ön eki call 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 batch 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. İsteğe bağlı. olduğunda scriptType = ps || scriptType = pscorekullanı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.


addSpnToEnvironment - Betikte hizmet sorumlusu ayrıntılarına erişme
boolean. Varsayılan değer: false.

Hizmet sorumlusu kimliğini, hizmet sorumlusu anahtarını veya iş yükü kimliği federasyon belirtecini ve seçtiğiniz Azure uç noktasının kiracı kimliğini betiğin yürütme ortamına ekler. Betiğinizde , servicePrincipalKey veya idTokenve tenantId değişkenlerini kullanabilirsinizservicePrincipalId.

Bu, yalnızca Azure uç noktasının hizmet sorumlusu kimlik doğrulama şeması veya iş yükü kimliği federasyon kimlik doğrulama şeması varsa kabul edilir.

Aşağıdaki listede, betik türüne göre ortam değişkenlerine erişmek için 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 - Genel Azure CLI yapılandırmasını kullanma
boolean. Varsayılan değer: false.

Bu giriş false ise, bu görev kendi Azure CLI yapılandırma dizinini kullanır. Azure CLI görevlerini paralel sürümlerde çalıştırmak için bu görevi kullanın.


workingDirectory - Ç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ş deponun (derleme) veya yapıtların (yayın) köküdür $(System.DefaultWorkingDirectory).


failOnStandardError - Standart Hatada Başarısız
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ına güvenin.


powerShellIgnoreLASTEXITCODE - $LASTEXITCODE yoksay
boolean. İsteğe bağlı. olduğunda scriptType = ps || scriptType = pscorekullanın. Varsayılan değer: false.

Bu giriş false ise, satır if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } 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.


Görev denetim seçenekleri

Tüm görevlerde 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ı aracılarla (Linux, macOS veya Windows) çalışır; aracının PowerShell sürüm 6 veya daha fazlasına sahip olduğundan emin olun.
  • PowerShell betiği yalnızca Windows aracısıyla çalışır, aracının PowerShell sürüm 5 veya altına sahip olduğundan emin olun.

Önkoşullar

  • Microsoft Azure aboneliği.
  • Azure hesabınızla Azure Resource Manager hizmeti bağlantısı.
  • Microsoft tarafından barındırılan aracılarda Azure CLI önceden yüklenmiş olarak bulunur. Ancak özel aracılar kullanıyorsanız derleme ve yayın aracısını çalıştıran bilgisayarlara Azure CLI yükleyin . Azure CLI'nın yüklü olduğu makinede bir aracı zaten çalışıyorsa, ilgili tüm aşama değişkenlerinin güncelleştirildiğinden emin olmak için aracıyı yeniden başlatın.

Örnekler

Aşağıdaki örnek, Azure CLI sürümünü listeler ve aboneliğin ayrıntılarını alır.

- 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 örnekte bağımsız değişkenleri betiğinize geçirme işlemi gösterilmektedir.

  • 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'
    
  • Bağımsız değişkenleri betik yolu ile 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 Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.0.0 veya üzeri
Görev kategorisi Dağıtma

Ayrıca bkz.