Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:servicePrincipalIdBatch 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 |