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
, ps
veya 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
, ps
veya 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 = scriptPath
gereklidir.
Betiğin tam yolu. Windows tabanlı aracı kullanırken , .bat
veya .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 = inlineScript
gereklidir.
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 = pscore
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.
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 idToken
ve 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 = pscore
kullanı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 |